docker0类似交换机找ip地址,可以通过本地缓存也可以通过广播找
虚拟网卡,都是docker0和容器之间ip地址虚拟映射与通信
docker network ls
docker network inspect id
其中default就是 docker0 统一地址
可以看到 每一个启动的容器都会对应名字和ip进行映射
能够使用名字访问代替ip 是因为/etc/host文件映射名字和ip的linux文件
查看自己创建的网络
docker network inspect 网络id
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
将tomcat启动时候选择上面mynet网络,这样自定义网络就天然的支持名字 名字打通容器之间的访问
docker run -d -P --name tomcat01 --net mynet tomcat
docker run -d -P --name tomcat02 --net mynet tomcat
docker exec -it tomcat01 ping tomcat02
通过mynet自定义的网络就可以天然的打通了
不同网卡对应的容器如何打通
问题tomcat01 如何与tomcat-net-01进行网络打通
说实话,不同网段的ip是不能打通的
所以只能通过 tomcat01 与 mynet网卡打通
最终结论就是 mynet网卡针对tomcat01 也生成一个对应的ip
因此tomcat01 一个容器对应多个ip地址
docker network connet mynet tomcat01--意思就是把 tomcat01 加入到mynet网络中