李明
|
场景
sudo docker ps
sudo docker stop test2 sudo docker rm test2 sudo docker ps
sudo docker run -d --name test2 --link test1 busybox /bin/sh -c "while true; do sleep 3600; done" sudo docker ps sudo docker exec -it test2 /bin/sh #ping test1 ping 172.17.0.2 ping test1
sudo docker exec -it test1 /bin/sh ping test2
上节课通过docker network ls 可以看到一个bridge host none
sudo docker network create -d bridge mybridge sudo docker network ls brctl show
#新建test3 连接新的mybridge sudo docker run -d --name test3 --network mybridge busybox /bin/sh -c "while true; do sleep 3600; done" #查看新的mybridge上有新的接口了 brctl show
#查看下新的mybridage它的网络 sudo docker network inspect mybridge
问题来了,一个17,一个18网段如何让17网段的容器 可以连接在新的18网段上呢 sudo docker network sudo docker network connect
#我们让连接到mybridage这个network上 sudo docker network connect mybridge test2 sudo docker network inspect mybridge
sudo docker exec -it test3 /bin/sh #ping test2的ip地址 ping 172.18.0.3 #ping test2 ping test2
sudo docker exec -it test2 /bin/sh ip a ping test3 #ping test1,是可以ping通的 因为之前咱们已经link上去了,如果不link根本是ping不通的。如果ping不通 也可以通过 sudo docker network connect mybridge test1 的方式来ping ping test1
PS:用户自定义的bridge 和 docker0 这个bridge他们之前的区别,docker0 如果通过名称想找到需要通过link,实际的项目中很少使用link,其实让大家知道link这个命令。
|
2018-09-10 16:27:01