利用桥接实现不同宿主机间容器互联

发布时间 2023-10-08 09:51:04作者: 小糊涂90

环境配置:

Ubuntu1804 宿主机地址:10.0.0.151 容器地址:172.17.0.2
centos7 宿主机地址:10.0.0.152 容器地址:172.17.0.3

两台宿主机安装网桥工具bridge-utils

root@ubuntu1804:~# apt -y install bridge-utils
[root@localhost ~]# yum -y install bridge-utils

将eth0加到网桥接口docker0上(此时会无法连接外网)

root@ubuntu1804:~# brctl addif docker0 eth0
[root@localhost ~]#brctl addif docker0 eth0

在两个宿主机上各启动一个容器,以需要确保两个容器IP不同,相互测试访问

root@ubuntu1804:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d0b5c840323 busybox "sh" 57 seconds ago Up 56 seconds b1
root@ubuntu1804:~# docker exec 6d hostname -i
172.17.0.2

[root@10 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83637fec6704 busybox "sh" About a minute ago Up About a minute b2
d3f9eec36a40 busybox "sh" 2 minutes ago Up 2 minutes elastic_wescoff
[root@10 ~]# docker exec 83 hostname -i
172.17.0.3

在ubutu上测试ping172.17.0.3成功

root@ubuntu1804:~# docker exec 6d ping 172.17.0.3