聊聊docker跨主機(jī)之間容器通信問題
一、環(huán)境信息
| 主機(jī)名 | 宿主機(jī)IP | 容器分配網(wǎng)段 | 啟動(dòng)容器的IP |
|---|---|---|---|
| testa | 192.168.1.105 | 172.172.0.0/24 | 172.172.0.10 |
| testb | 192.168.1.106 | 172.172.1.0/24 | 172.172.1.10 |
二、具體實(shí)踐
1.在testa主機(jī)上創(chuàng)建docker橋接網(wǎng)絡(luò)
docker network create --subnet=172.172.0.0/24 docker-br0
2.在testb主機(jī)上創(chuàng)建docker橋接網(wǎng)絡(luò)
docker network create --subnet=172.172.1.0/24 docker-br0
備注:這里選取了172.172.0.0網(wǎng)段,也可以指定其他任意空閑的網(wǎng)段,docker-br0為自定義網(wǎng)橋的名字,可自己任意取名。
注意:這里子網(wǎng)掩碼要使用255.255.255.0也就是IP后面的那個(gè)24,因?yàn)楹竺嬉褂胕ptables配置路由表,我之前使用255.255.0.0 無法配置.所以這里配置成24.\
創(chuàng)建網(wǎng)橋之后,使用ifconfig查看 會(huì)多出一個(gè)網(wǎng)橋,該網(wǎng)橋在docker啟動(dòng)或者重啟之后,會(huì)自動(dòng)顯示出來。永久的,可以使用docker network rm docker-br0 移除網(wǎng)橋。
3.在testa主機(jī)中你自定義的網(wǎng)段選取任意IP地址作為你要啟動(dòng)容器IP
docker run -i -d --net docker-br0 --ip 172.172.0.10 --name test1 3bee3060bfc8 /bin/bash
testb主機(jī)中你自定義的網(wǎng)段選取任意IP地址作為你要啟動(dòng)容器IP
docker run -i -d --net docker-br0 --ip 172.172.1.10 --name test2 3bee3060bfc8 /bin/bash
4.進(jìn)入testa主機(jī)中的docker
docker exec -it test1 /bin/bash
進(jìn)入testb主機(jī)中的docker
docker exec -it test2 /bin/bash
5. 配置路由表
添加路由規(guī)則
ip route add 對(duì)方容器所在的ip網(wǎng)段/子網(wǎng)掩碼 via 對(duì)方虛擬機(jī)ip dev 通過哪個(gè)網(wǎng)卡通信
testa主機(jī)中
ip route add 172.172.1.0/24 via 192.168.1.106 dev eno16777736
testb主機(jī)中
ip route add 172.172.0.0/24 via 192.168.1.105 dev eno16777736 \
添加完成之后,可以使用 route命令 查看添加之后的規(guī)則,也可以使用 ip route del 172.172.1.0/24 移除路由規(guī)則
6測(cè)試跨主機(jī)容器互ping
到此這篇關(guān)于docker跨主機(jī)之間容器通信問題的文章就介紹到這了,更多相關(guān)docker跨主機(jī)容器通信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
給debian的docker容器添加crontab定時(shí)任務(wù)
這篇文章主要介紹了給debian的docker容器添加crontab定時(shí)任務(wù)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
docker registry 鏡像同步的實(shí)現(xiàn)思路
這篇文章主要介紹了docker registry 鏡像同步的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
docker使用Dockerfile構(gòu)建鏡像的方法
這篇文章主要介紹了docker使用Dockerfile構(gòu)建鏡像的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
Docker容器實(shí)戰(zhàn)之鏡像倉(cāng)庫(kù)
這篇文章主要介紹了Docker容器實(shí)戰(zhàn)之鏡像倉(cāng)庫(kù),文章通過Docker?Hub為例,講解關(guān)于鏡像倉(cāng)庫(kù)的使用,需要的小伙伴可以參考一下2022-05-05
安裝docker-ce報(bào)錯(cuò)yum倉(cāng)庫(kù)錯(cuò)誤問題及解決
安裝Docker-CE時(shí),可能會(huì)因依賴軟件版本不足導(dǎo)致報(bào)錯(cuò),解決方法包括使用yum update更新軟件包,若倉(cāng)庫(kù)無該包則需更新repo源,也可通過yum install -y docker-ce --skip-broken跳過依賴更新直接安裝,若遇yum命令執(zhí)行報(bào)錯(cuò)2024-11-11
Docker部署Go項(xiàng)目發(fā)布鏡像到倉(cāng)庫(kù)
這篇文章主要為大家介紹了Docker部署Go項(xiàng)目發(fā)布鏡像到倉(cāng)庫(kù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

