目录
概念
数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性: - 数据卷可以在容器之间共享和重用 - 对数据卷的修改会立马生效 - 对数据卷的更新,不会影响镜像 - 数据卷默认会一直存在,即使容器被删除 Docker中提供了两种挂载方式,-v和-mount
Docker容器产生的数据同步到本地,这样关闭容器的时候,数据是在本地的,不会影响数据的安全性。
docker的容器卷技术也就是将容器内部目录和本地目录进行一个同步,即挂载。
配置
--name
: 容器起名字
-p
:宿主机端口:docker端口 (端口映射)
-v
:宿主机目录:docker目录 (必须为绝对路径)
ro
: readonly : 容器对该数据卷挂载目录只有只读权限rw
: read write:读写权限
docker run -it --name cen1 -v /root/mydata:/root/mydata_container centos:7 /bin/bash
此时容器和宿主机的文件内容自动同步
此时删除该容器,发现宿主机的文件和内容依然存在
使用-v参数时如果本地目录不存在Docker会自动为你创建一个文件夹。使用
--mount
参数时如果本地目录不存在,Docker会报错。Docker挂载主机目录的默认权限是读写,用户也可以通过增加readonly指定为只读。
一个容器挂多个目录
多个容器挂同一个目录
docker run -it --name cen1 -v /root/mydata:/root/mydata_container centos:7 /bin/bash
docker run -it --name cen2 -v /root/mydata:/root/mydata_container centos:7 /bin/bash