docker学习03——数据卷
1.数据卷的概念和作用
问题:
(1)docker 容器删除后,在容器中产生的数据还在吗?不在了
(2)docker 容器和外部机器可以直接交换文件吗?不能。
(3)容器之间如何进行数据交互。
三个问题引出数据卷:
数据卷是宿主机中的一个目录或文件。
当容器目录和数据卷目录绑定后,对方的修改会立即同步。
一个数据卷可以被多个容器同时挂载。
一个融洽也可以被挂载多个数据卷
2.数据卷的配置
(1)挂载
docker ps -a
docker imags
docker run -it --name=c1 -v /root/data:/root/data_container sentos:7
可以自行创建文件或者文件夹验证数据同步
(2)挂在两个目录
docker run -it --name=c2 -v ~/data2:/root/data2 -v ~/data3:/root/data3 centos:7
两个容器挂载数据卷
data当成数据卷
docker run -it --name=c3 -v ~/data:/root/data sentos:7
docker run -it --name=c4 -v ~/data:/root/data sentos:7
c4里面写文件 echo tc > it.txt
c3查看有无
ll
cat it.txt
相当于c3——宿主机——c4互相同步
3.数据卷容器
多个容器进行数据交换。两个容器挂载同一个数据卷。如果容器太多呢。
创建一个数据卷,设置一个数据卷
docker run -it --name=c3 -v /volume sentos:7 /bin/bash
c1和c2分别挂载到c3
docker inspect c1
查看绑定信息数据卷目录/容器目录
删除docker rm c1 c2 c3 c4
docker ps -a 查看一下
(1)创建一个数据卷volume
docker run -it --name=c3 -v /volume centos:7
exit
(2)挂载到c3
docker run -it --name=c1 --volumes-from c3 centos:7
exit
(3)挂载到c3
docker run -it --name=c2 --volumes-from c3 centos:7
exit
c1-c2-c3相互通了