docker管理应用程序数据(使用volumes(卷)方式)

Docker提供三种方式将数据从宿主机挂载到容器中:

  • volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式
  • bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。
  • tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用tmpfs,同时避免写入容器可写层提高性能。
image.png

使用volumes(卷)方式

  • 查看数据卷
docker volume ls
  • 创建数据卷
docker volume create nginx_vol
  • 查看数据卷详细时间
docker volume inspect nginx_vol
  • 删除所有的容器
docker rm -f $(docker ps -a |awk '{print $1}')

新建一个容器,并进入

[root@localhost ~]# docker run -d nginx
8d25abf3bb9b1e7191812ebb01bc4bac619416516a7de5c8fb5b1a67f8474942
[root@localhost ~]# docker exec -it 8d25 bash
root@8d25abf3bb9b:/# ls /usr/share/nginx/html
50x.html  index.html
  • 新建一个名为nginx01的容器 并把/usr/share/nginx/html下面的index.html持久化到nginx_vol卷中

前提:先建一个nginx_vol

docker run -d --name nginx01 --mount  src=nginx_vol,dst=/usr/share/nginx/html nginx(镜像名)
//加了端口映射
 docker run -d --name nginx02 -p 88:80 --mount src=nginx_vol,dst=/var/share/nginx/html nginx(镜像名)
//旧的方式
docker run -d --name nginx01 -p 88:80  -v nginx_vol:/usr/share/nginx/html nginx

查看容器的数据卷情况
docker inspect nginx01 |more

image.png
  • 关闭容器docker stop nginx03
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容