1. 程式人生 > 其它 >docker 自定義網路 不使用 --link 也能實現容器間網路互通

docker 自定義網路 不使用 --link 也能實現容器間網路互通

十年河東,十年河西,莫欺少錢窮

學無止境,精益求精

1.介紹

常規docker容器啟動,可以用–link,進行容器網路繫結,但是一旦容器多了,之後就會非常麻煩,所以要自定義一個docker網路,小白推薦使用–link命令

自定義網路修復了docker0的容器之間無法用容器名相互ping通的問題 

自定義網路可以有效的區分不同映象生成的容器管理問題,例如MySQL 叢集使用自定義網路1,Redis叢集使用自定義網路2,等

自定義網路同網段容器可以相互ping通【不需要使用--link指令就可以通】,是不是很牛逼

2.命令

自定義網路命令 說明
docker network create 建立自定義網路
docker network inspect 檢視自定義網路詳情
docker network ls 檢視網路列表
docker network connect 不同的自定義網路互相連線
docker network rm 刪除自定義網路

3、檢視網路列表

docker network ls

 

4、檢視網路元資料

docker network inspect 891c28afc2df

 

5、自定義網路

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168
.0.1 mynet

--driver bridge            網路模式預設為橋接模式

--subnet   192.168.0.0/16            子網掩碼  後16位可為任意值,大概支援 65535 個IP

 --gateway 192.168.0.1                閘道器IP 

 

 6、檢視建立的網路 mynet 的詳細資訊

docker network inspect mynet

 

 7、建立指定網路的容器,我的本地映象為centos

docker run -it --name mycentos --net mynet centos

--net    指定某個網路

8、容器內 ping  百度

ping www.baidu.com

 

 可以ping通 網路正常

9、退出容器【ctrl +p+q】,容器還要繼續執行的,在建立一個新的容器

docker run -it --name mycentos2 --net mynet centos

10,在容器mycentos2中 ping mycentos 容器

先進入容器

docker exec -it 13df312b5feb /bin/bash

然後ping

ping mycentos

 

 由此可見,在自定義網路中,我們不使用 --link 指令,也能實現容器間網路互通。

 @天才臥龍的波爾克