centos7下安装docker(13.4容器volume总结)

     最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume。

storage driver是由镜像层和容器层组成的,可以通过docker inspect <容器ID>来查看容器默认使用的driver

data volume又分为两种bind mount 和docker managed volume

bind mount:通过容器运行时指定固定的bind mount,例如:docker run -d -v /test:/var/lib/test busybox

docker managed volume:是在容器启动的时候会在host的/var/lib/docker/volume/***/_data自动创建一个bind mount并将容器中相应的内容复制一份到/var/lib/docker/volume/***/_data下

还学习了容器的共享:

容器与host之间的共享:bind mount,docker managed volume

容器与容器之间的共享:bind mount,containers volume,data-packed volume container三种方式

container volumes:docker create一个容器专门用来挂载,这个容器可以是create的状态,其他容器通过--volumes-from 来挂载这个容器

data-packed volume container:是通过创建挂载的镜像,这种方式移植性特别强,但是无法动态修改共享文件。

docker volume生命周期的管理

备份:直接备份host上的相应的文件

恢复:将备份的文件复制到相应的位置

迁移:运行容器挂载相同的bind mount

销毁:docker rm -v通过-v的参数删除docker managed volume创建的目录;通过docker volume ls查看host有哪些volume,docker rm volume删除;对于孤儿volume,可以通过docker volume  prune删除

本章的docker 命令总结;

docker run -d -v /test1:/var/lib/docker:ro httpd     ro:只读文件

docker volume inspect :查看容器volume信息

docker volume rm 删除volume

docker volume prune删除孤儿volume

docker volume rm $(docker volume ls -q)批量删除volume

docker cp将host上面的内容复制到容器中

原文地址:https://www.cnblogs.com/lkun/p/7778454.html