不同主機間的 Docker 容器相互通訊

2021-07-25 15:44:27 字數 1490 閱讀 2894

操作參照了:

ubuntu14.0.4為例

宿主主機:

ip :192.168.220.131   (ifconfig檢視)

gateway:192.168.220.2  (netstat -rn  destination 為 0.0.0.0 的)

dns: 192.168.220.2      (cat /etc/resolv.conf)

1. 停止docker服務

~#:service docker stop

2.刪除docker0網絡卡

~#:ifconfig docker0 down

~#:brctl delbr docker0

3.新建橋接物理網路虛擬網絡卡br0

~#:brctl addbr br0

~#:ip link set dev br0 up

~#:ip addr del 192.168.220.131/24 dev eth0 #刪除宿主機網絡卡的ip

~#:ip addr add 192.168.220.131/24 dev br0 #將宿主主機的ip設定到br0

~#:brctl addif br0 eth0 #將宿主機網絡卡掛到br0上

~#:ip route del default #刪除原路由

~#:ip route add default via 192.168.220.2 dev br0 #為br0設定路由

4.設定docker服務啟動引數

vi /etc/default/docker

在docker_opts  選項裡加上 :  -b=br0    讓docker服務啟動時使用br0網絡卡進行橋接

例如:docker_opts="--registry-mirror=   -b=br0"

5.啟動docker服務

~#:service docker start

6.安裝pipework

~#:git clone 

~#:cp ~/pipework/pipework /usr/local/bin/

7.啟動乙個手動設定網路的容器

這裡最好不要讓docker自動獲取ip,下次啟動會有變化而且自動獲取的ip可能會和物理網段中的ip衝突

~#:docker run -itd --net=none --name=server1 ubuntu

9.為server1容器設定乙個與橋接物理網路同位址段的ip@閘道器

~#:pipework br0 server1 192.168.220.101/[email protected]

如此 容器便和宿主主機在同乙個網段了,其他主機也做相同的操作,容器間便可以通訊了。

不同主機間的 Docker 容器相互通訊

操作參照了 ubuntu14.0.4為例 宿主主機 ip 192.168.220.131 ifconfig檢視 gateway 192.168.220.2 netstat rn destination 為 0.0.0.0 的 dns 192.168.220.2 cat etc resolv.conf...

Docker 同一主機不同容器之間的通訊

解決問題 解決同一主機不同容器之間的通訊 當在本機執行乙個web的映象,想要訪問mysql映象的時候如果使用127.0.0.1 3306來連線mysql是連線不上的。最好的解決辦法就是將mysql服務放在另外乙個主機上,但是畢竟。也沒有那麼多裝置。使用docker inspect 容器名 id 可以...

docker 宿主機與容器間複製檔案

將當前目錄的test.txt檔案複製到container容器的 home目錄下 docker cp container home test.txt home 將container容器內檔案複製到宿主機 我使用的為centos7 docker 1.12.6,其他版本不確定是否提供該命令 示例 假設我有...