docker 自定義網路 不使用 --link 也能實現容器間網路互通
阿新 • • 發佈:2022-04-11
十年河東,十年河西,莫欺少錢窮
學無止境,精益求精
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 指令,也能實現容器間網路互通。
@天才臥龍的波爾克