存储卷两种类型:绑定挂载存储卷 和 管理存储卷 主要区别在于挂载在主机位置上的不一样。管理存储卷由docker 守护进程控制位置,被称为docker 空间docker
绑定挂载存储卷spa
使用: -v 或 --volume 格式: -v <主机文件系统的绝对路径>:<容器文件系统的绝对路径>
1. 它取代了镜像在该位置提供的内容,即主机的内容将覆盖容器中的内容。
2. 若是你指定了一个不存在的主机目录,那么docker 会为你建立相应目录,
3. 若是要想绑定单个文件,文件必须在建立容器以前就存在于主机上,不然docker 会建立目录
4. 主机文件目录容许被多个容器绑定。可能会形成资源的竞争,致使问题发生
只读卷:能够避免容器内的任何进程修改该卷的内容。如: -v /data/my.conf:/data/my.conf:ro 继承
管理存储卷生命周期
docker 守护程序会在主机文件系统中建立,并由docker 管理,这是一种在文件系统特定位置解耦卷的方法。
使用: -v 或 --volume 格式: -v <容器文件系统的绝对路径>
1. 当建立了容器时,docker 守护程序在主机文件系统中建立了目录,能够使用 docker inspect 查看 volumes
2. 进程
继承存储卷的定义资源
docker rund -d \
--volumes-from zookeeper1 \
--volumes-from zookeeper2 \
--name zookeeper3 \
zookeeper:1.2.3容器
可将卷从一个或多个容器复制至新的容器中, 这样复制的卷始终具备相同的挂载点。
1. 若是一个或多个源建立的管理卷具备相同的挂载点,将只能接收其中之一。
2.不能更改卷的写权限
3.若是你构建的容器须要共享卷到不一样的位置,你不能使用 --volumes-fromzookeeper
管理存储卷的生命周期权限
1. docker 守护程序没法删除绑定挂载卷,
2. 删除容器时 加个 -v 就能够删除 管理存储卷 如: docker rm -v zookeeper
3. 若是删除容器时没有使用 -v 就会产生孤立卷,这时孤立卷只能手动清空了
程序
卷容器模式
/run/docker
/var/lib/docker
/etc/docker
/usr/bin/docker