目录
将容器内部的配置文件目录,挂载到宿主机指定目录下
创建两个容器,挂载到宿主机的同一个目录
【宿主机目录】:【容器目录】
docker run -itd -v /var/www:/data1 --name ydq1 centos:7 bash
docker run -itd -v /var/www:/data2 --name ydq2 centos:7 bash
#将宿主机的目录/vae/www目录分别挂载到容器 ydq1和ydq2的/data1 和/data2目录上
//指定目录即使没有,也会自动创建
echo "这都是些什么玩意,cao" > /var/www/ky20.txt
登录到ydq1和ydq2容器,查看挂载目录的文件是否一致
docker exec -it ydq1 bash
docker exec -it ydq2 bash
在ydq1容器的目录修改文件,然后去宿主机查看和ydq2容器查看
让两个容器实现数据共享
如果需要在容器之间共享一些数据,最简单的方法就是使用数据容器,数据卷容器是一个普通的容器,专门提供数据卷给其它容器挂载使用。
php ----》mysql之间想要通讯,通过socker
创建数据卷容器
docker run -it --name test1 -v /data1 -v /data2 centos:7 bash
#创建容器并进入容器,并共享/data1 和/data2目录
echo "这是data1下面的文件" > /data1/test.txt
echo "这是data2下面的文件" > /data2/TEST.txt
#容器内创建两个测试文件
docker run -it --name test2 --volumes-from test1 centos:7 bash
#创建容器并进入,并且去读取test1容器共享的目录
cat /data1/test.txt
cat /data2/TEST.txt
#查看测试数据是否同步(可相互传输)
容器互连通过容器的名称在容器间建立一条专门的网络通信隧道,
简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。
dcoker run -itd --name test1 /bin/bash
docker run -itd --name test2 /bin.bash
#创建两个容器
docker exec -it test1 /bin/bash
#进入到容器test1中
ping test2
#尝试ping test2,查看是否连通
docker exec -it test2 /bin/bash
#进入到容器test2
yum -y install net-tools
#下载工具
ifconfig
#查看ip
docker run -itd -P --name test3 --link test2:test2 centos:7 /bin/bash
#创建并运行就收容器取名为test3,使用--link选项指定链接容器,以实现容器的互连
//--link格式【容器名】:【链接的别名】
docker exec -it test3 /bin/bash
#进入到容器test3
ping test2
#查看是否可ping通
yum -y install net-tools
#下载工具
ifconfig
#查看ip
ping 172.17.0.2
#使用ip ping test2的ip