docker数据卷
数据卷:容器如何与宿主机之间进行数据共享
数据卷是一个供容器使用的特殊的目录,在容器中,和宿主机的目录进行映射,主机和宿主机都可以对目录中的文件进行修改,双方都同步生效。对镜像也没有影响,宿主机到容器实现数据迁移。
mysql 33066:3306
1.宿主机的目录和容器中目录进行挂载(映射关系)
docker run -itd --name test1 -v /opt/test1:/opt/test centos:7 /bin/bash
cd /opt
cd test1
echo "郭旗真大" > 123.txt
docker exec -it test1 bash
cd /opt/test
touch 456.txt
echo 456.txt
exit
cd /opt/test1
docker run -itd --name test2 -v /opt/test2:/opt/test:ro centos:7 /bin/bash
cd /opt/test2
ls
docker exec -it test2 bash
cd /opt
ls
2.容器和容器之间实现数据共享
test1 test2 可以有一个或者多个映射目录,实现数据互传,数据同步
数据卷容器:只提供挂载点,让另一方收集数据
docker run -itd --name test11 -v /opt/data1 -v /opt/data2 centos:7 /bin.bash
docker exec -it test11 bash
cd /opt
exit
docker run -itd --volumes-from test11 --name test12 centos:7 /bin/bash
cd /opt/data1
echo 123> 123
cd /opt/data2
echo 456 > 456
docker exec -it test12 bash
cd /opt
cat data/123
cat data/456
3.容器互联:两个容器之间实现网络通信
老版本:docker run -itd -P --name test111 centos:7 /bin/bash
docker run -itd -P --name test222 --link test111:test222 centos:7 /bin/bash
docker exec -it test111 bash
yum -y install net-tools
ifconfig
vim /etc/hosts
docker exec -it test111 bash
yum -y install net-tools
ifconfig
vim /etc/hosts
新版本:network自定义网络
docker run -itd -P --name test112 --network=mynetwork centos:7 /bin/bash
docker run -itd -P --name test113 --network=mynetwork centos:7 /bin/bash
docker exec -it test112 bash
docker exec -it test113 bash