问题背景
上篇介绍了Docker指令,本章介绍一下数据卷Volumes
Docker无介绍快使用,安装部署hello测试(一)
Docker无介绍快使用,docker指令使用(二)
Docker无介绍快使用,docker数据卷Volumes挂载的使用(三)
Docker数据卷Volumes
概述:
- 数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方的修改会立即同步
- 一个数据卷可以被多个容器同时挂载,一个容器也可以被挂载多个数据卷
- 数据卷本质其实是共享文件夹,是宿主机与容器间数据共享的桥梁
数据卷作用: - 容器数据持久化
- 外部机器和容器间接通信
- 容器之间数据交换
1 一个容器挂载一个数据卷
创建启动容器时,使用 –v 参数 设置数据卷
docker run [启动参数] –v 宿主机目录(文件):容器内目录(文件) [容器名称]
注意事项:
- 目录必须是绝对路径
- 如果宿主机目录不存在,会自动创建
- 可以挂载多个数据卷
例如安装启动容器并挂载
docker run -di --name=c1 -v /root/host_data1:/root/c1_data centos:7 /bin/bash
2 查看已挂载的数据卷
docker inspect [容器名称(容器ID)]
2 一个容器挂载多个数据卷
docker run -di --name=c1 -v /root/host_data1:/root/c1_data1 -v /root/host_data2:/root/c1_data2 centos:7 /bin/bash
3 多个容器挂载1个数据卷
docker run -di --name=c2 -v /root/host_data_common:/root/c22222_data centos:7
docker run -di --name=c3 -v /root/host_data_common:/root/c33333_data centos:7
4 多个容器挂载1个容器,然后该容器挂载1个数据卷
创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run -di --name=c3 -v /root/host_data_common:/root/c3_data centos:7 /bin/bash
创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
docker run -di --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -di --name=c2 --volumes-from c3 centos:7 /bin/bash
总结
- 有多种挂载方式,如果只是做测试程序,基本的用法就足够了
作为程序员第 52 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha ...