docker存储 docker镜像有多个只读层叠加而成,启动容器是,docker会加载只读镜像层,并在镜像栈顶部添加一个读写层 如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是被读写层中该文件的副本所隐藏此即“写时复制(cow)”机制. volume于容器初始化之时即会创建,有base image提供的卷中的数据会于此期间完成复制; volume的初衷时独立于容器的生命周期实现数据持久化,因此删除容器是既不会删除卷,也不会堆哪怕未被应用的卷做垃圾回收操作。 卷为docker提供了独立于容器的数据管理机制; 在容器中使用volums:分2类 1 docker-managed volums: docker run -it -name web1 -v /data1 busybox:v1 2 bind-mount volume: # docker run -it -name web2 -v host_dir:contaienr_dir busybox:v1 docker inspect web1 # docker run --name busy1 -it --rm -v /data/vloumes/b1:/data1 busybox 将虚拟机上的/data/vloumes/b1挂载到容器的/data1目录(容器内用df -h 可看到/data1目录挂载出来) 在虚拟机上的/data/vloumes/b1目录下新建index.html文件,在容器内的/data1目录下也可看到该index.html 2个或多个容器共享存储卷: # docker run --name busy2 -it --rm -v /data/vloumes/b1:/data2 busybox 在busy2容器中也可看到index.html,其共享了/data/vloumes/b1
标签:容器,存储,data,vloumes,b1,docker,data1 From: https://www.cnblogs.com/skyzy/p/18125043