查看本机IP地址
# ip addr1: lo: 127.0.0.1/8 #本机回环地址2: eth0: 172.17.90.130/20 #阿里云内网地址3: docker0: 172.18.0.1/16 #Docker0地址,相当于路由器
查看容器外部IP地址
# docker run -d -p 80:8080 --name tomcat01 tomcat# docker exec -it tomcat01 ip addr1: lo: 127.0.0.1 #本机回环地址261: eth0@if262: 172.18.0.2/16 #容器外部IP地址
宿主机ping容器外部地址,能够连通
# ping 172.18.0.264 bytes from 172.18.0.2:...64 bytes from 172.18.0.2:...
再次查看本机IP地址
# ip addr1: lo: 127.0.0.1/8 #本机回环地址2: eth0: 172.17.90.130/20 #阿里云内网地址3: docker0: 172.18.0.1/16 #Docker0地址,相当于路由器262: vethc96781f@if261: #对应容器的外部地址
再启动一个容器,查看容器外部IP地址
# docker run -d -P --name tomcat02 tomcat# docker exec -it tomcat02 ip addr1: lo: 127.0.0.1 #本机回环地址263: eth0@if264: 172.18.0.3/16 #容器外部IP地址
再次查看本机IP地址
# ip addr1: lo: 127.0.0.1/8 #本机回环地址2: eth0: 172.17.90.130/20 #阿里云内网地址3: docker0: 172.18.0.1/16 #Docker0地址,相当于路由器262: vethc96781f@if261: #对应容器的外部地址264: veth2d06adc@if263: #对应容器的外部地址
测试容器之间(tomcat01 和 tomcat02)的连通
# 容器和容器之间是能够连通的# docker exec -it tomcat02 ping 172.18.0.264 bytes from 172.18.0.2:...64 bytes from 172.18.0.2:...
所有的容器不指定网络的状况下,都是 docker0 路由的,docker 会给容器调配一个默认可用的IP。