每次啟動一個容器轮锥,就會多一個網(wǎng)口
以ip方式進入tomcat02
測試tomcat01和tomcat02是否可以ping通
網(wǎng)絡模型圖
結論:tomcat01和tomcat02是公用的一個路由器闯团,docker0歇竟。
Docker使用的是Linux橋接,宿主機中是一個Docker容器的網(wǎng)橋 docker0。最多大約分配65535個地址
移除容器之后秃流,網(wǎng)卡自動消失
查看容器地址柳弄,發(fā)現(xiàn)261到262的網(wǎng)絡地址沒有了
--link
直接通過鏡像名ping倆個tomcat概说,發(fā)現(xiàn)并不能ping通
docker exec -it tomcat02 ping tomcat01
通過--link啟動tomcat 可以通過鏡像名之間ping通
docker run -d -P --name tomcat03 --link tomcatj02 tomcat
但是此時反向不可以ping通嚣伐,也就是tomcat02ping不同tomcat03
查看docker網(wǎng)絡
查看容器中的三個tomcat分配了三個ip
查看tomcat03的配置,發(fā)現(xiàn)--link就是在tomcat03的hosts中配置了tomcat02的地址
再次查看tomcat02的hosts配置轩端,發(fā)現(xiàn)里面沒有配置tomcat03的配置放典,所以tomcat02ping不同tomcat03,也就說明--link是單向的
自定義網(wǎng)絡
查看所有的docker網(wǎng)絡
網(wǎng)絡模式
1.查看ip地址
2.創(chuàng)建docker網(wǎng)絡
docker network create --drive bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
# --subnet:子網(wǎng)掩碼
# --gateway:網(wǎng)關
#--drive:bridge 橋接方式
查看剛剛配置的網(wǎng)絡
3.查看自己配置的網(wǎng)絡
docker network inspect mynet
4.用我們自己的網(wǎng)絡啟動兩個tomcat
5.此時查看我們自己的網(wǎng)絡mynet
,發(fā)現(xiàn)有倆個容器 就是剛剛的倆個tomcat
docker network inspect mynet
6.此時再次ping倆個tomcat拱层,發(fā)現(xiàn)已經(jīng)可以實現(xiàn)互相ping通
而且通過名字也可以ping通倆個tomcat
網(wǎng)絡打通
1.想要實現(xiàn)172.18.0.1ping通192.168.0.1
2.首先使用mynet網(wǎng)絡和tomcat01連通
docker network connect mynet tomcat01
3.此時再次查看mynet網(wǎng)絡
4.此時ping倆個tomcat
其中一個是docker0網(wǎng)絡的tomcat01径缅,一個是mynet的tomcat-net-01,發(fā)現(xiàn)可以ping通