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