Docker 跨主機容器間相互訪問的實現(xiàn)
第一步:創(chuàng)建自定義網(wǎng)絡
docker network create --subnet=172.18.0.0/24 docker-br0
備注:這里選取了172.18.0.0網(wǎng)段,也可以指定其他任意空閑的網(wǎng)段,docker-br0為自定義網(wǎng)橋的名字,可自己任意取名。
注意:這里子網(wǎng)掩碼要使用255.255.255.0也就是IP后面的那個24,因為后面要使用iptables配置路由表,我之前使用255.255.0.0 無法配置.所以這里配置成24.
創(chuàng)建網(wǎng)橋之后,使用ifconfig查看 會多出一個網(wǎng)橋,該網(wǎng)橋在docker啟動或者重啟之后,會自動顯示出來。永久的,可以使用docker network rm docker-br0 移除網(wǎng)橋。
第二步:在你自定義的網(wǎng)段選取任意IP地址作為你要啟動容器IP
docker run -itd --name my-centos3 --network myNetwork --privileged=true --ip 172.18.0.6 -p 5000:22 <image id> /sbin/init
第三步:跨主機容器互訪:
第四步:在192.168.1.106虛擬機上,給容器綁定固定ip, 按照之前 第一步到 第三步.
第五步:在兩個容器中互相訪問,發(fā)現(xiàn)跨主機容器互訪,并不能ping通。
第六步:配置路由表
#添加路由規(guī)則 ip route add 對方容器所在的ip網(wǎng)段/子網(wǎng)掩碼 via 對方虛擬機ip dev 通過哪個網(wǎng)卡通信
如:ip route add 172.18.0.0/16 via 192.168.1.24 dev ens33
添加完成之后,可以使用 route命令 查看添加之后的規(guī)則,也可以使用 ip route del 172.172.1.0/24 移除路由規(guī)則
在192.168.1.24 和 192.168.1.26虛擬機上,分別添加對應的路由規(guī)則!
192.168.1.24: ip route add 172.19.0.0/24 via 192.168.1.26 dev ens33
192.168.1.26: ip route add 172.18.0.0/24 via 192.168.1.24 dev ens33
第七步:在兩個容器中互相訪問,發(fā)現(xiàn)可以實現(xiàn)跨主機容器互相ping通了。
到此這篇關于Docker 跨主機容器間相互訪問的實現(xiàn)的文章就介紹到這了,更多相關Docker 跨主機容器間相互訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker-Compose創(chuàng)建mysql容器詳解
這篇文章主要介紹了Docker-Compose創(chuàng)建mysql容器詳解的相關資料,需要的朋友可以參考下2022-11-11Docker跨主機網(wǎng)絡(manual)的實現(xiàn)
這篇文章主要介紹了Docker跨主機網(wǎng)絡(manual)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12使用docker快速部署Elasticsearch集群的方法
這篇文章主要介紹了使用docker快速部署Elasticsearch集群的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03阿里云ECS(CentOS鏡像)安裝docker的實現(xiàn)步驟
本文主要介紹了阿里云ECS(CentOS鏡像)安裝docker的實現(xiàn)步驟,從準備工作到實際安裝步驟,詳細解析每一步操作,具有一定的參考價值,感興趣的可以了解一下2024-01-01