Docker 網絡詳解之容器間經過IP互聯

查看本機IP地址docker

# ip addr
1: lo: 127.0.0.1/8          #本機迴環地址
2: eth0: 172.17.90.130/20   #阿里雲內網地址
3: docker0: 172.18.0.1/16   #Docker0地址,至關於路由器

查看容器內部IP地址tomcat

# docker run -d -p 80:8080 --name tomcat01 tomcat
# docker exec -it tomcat01 ip addr
1: lo: 127.0.0.1                 #本機迴環地址
261: eth0@if262: 172.18.0.2/16   #容器內部IP地址

宿主機ping容器內部地址,能夠連通網絡

# ping 172.18.0.2
64 bytes from 172.18.0.2:...
64 bytes from 172.18.0.2:...

再次查看本機IP地址測試

# ip addr
1: 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 addr
1: lo: 127.0.0.1                 #本機迴環地址
263: eth0@if264: 172.18.0.3/16   #容器內部IP地址

再次查看本機IP地址spa

# ip addr
1: 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)的連通code

# 容器和容器之間是能夠連通的
# docker exec -it tomcat02 ping 172.18.0.2
64 bytes from 172.18.0.2:...
64 bytes from 172.18.0.2:...

全部的容器不指定網絡的狀況下,都是 docker0 路由的,docker 會給容器分配一個默承認用的IP。ip

Docker 網絡結構圖

1598176026499.png

相關文章
相關標籤/搜索