理解docker0

原理

我们每启动一个 docker客器, docker就会给docker容器分配一个ip,我们只要安装了 docker,就会有一个网卡 docker0 桥接模式,使用的技术是 evth-pair f技术!

小结

--link

解决容器间互联问题,但是是单向的。

docker run -f -P --name tomcat02 --link tomcat01 tomcat 

本质:修改了容器hosts映射,不建议使用。

自定义网络,不适用docker0,docker0不支持容器名连接访问。

自定义网络

bridge :桥接 docker(默认)

none :不配置网络

host :和宿主机共享网络

container :容器网络连通!(用的少,局限很大)

测试

#docker network --help
#我们直接启动的命令 --net bridge,而这个就是我们的docker0
docker run -d -P --name tomcat01 tomcat
docker run -d -P --name tomcat01 --net bridge tomcat

#docker0特点:默认,域名不能访问, --linke 可以打通连接

#我们可以自定义一个网络!
docker network create --driver bridge --subnet 192.168.0.0/16 --gatway 192.168.0.1 mynet
docker network ls
docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat
docker exec -it tomcat-net-01 ping 162.168.0.3
docker exec -it tomcat-net-01 ping tomcat-net-02

好处:不同集群使用不同的网络,保证集群是安全和健康的

网络连通

docker0和mynet怎么连通问题
docker network connect mynet tomcat01
docker network inspect

连通之后就是将 tomcat01 放到了 mynet 网络下,一个容器 (tomcat01) 两个ip