【Linux】Docker数据卷

作用:将容器的的目录和本机的目录映射起来,实现两个目录的同步

在创建容器时绑定数据卷,可绑定多个:

docker run -it -v <主机路径>:<容器内路径> -v <主机路径>:<容器内路径> 必须是完整的路径,如果不是完整路径则是具名挂载
docker run -it -volumes-from <容器名> 继承其他容器的数据卷挂载

数据卷的一些指令

create 创建卷
docker inspect <volumes名> 查看卷的详细信息
ls 列出所有卷
rm 删除卷

查看指定容器的数据卷

docker inspect <容器id> 在这个json文件中的Mounts中
具名挂载 docker run -v <volumes名>:<容器内路径>
匿名挂载 docker run -v <容器内路径>

具名挂载和匿名挂载,是不指定主机路径的一种挂载数据卷方式

相同点:

  • 都是一种不指定主机路径的挂载数据卷的方式
  • 保存的路径位置都在/var/lib/docker/volumes下
  • /var/lib/docker/volumes下的每个单独的文件夹为一个数据卷,对应着自己映射的容器路径

不同点:

  • 具名挂载生成在/var/lib/docker/volumes路径下的名称是自己指定的<volumes名>,可以方便的找到卷名

拓展:

在挂载数据卷时,可以控制这个容器对主机路径的操作权限

docker run -it -v <主机路径>:<容器内路径>:ro read only只读
docker run -it -v <主机路径>:<容器内路径>:rw readwrite可读可写