docker跨主机容器访问(网桥实现)

本文介绍了如何通过网桥实现Docker跨主机容器的访问。讲解了Docker容器默认的同一主机互连机制,并展示了创建自定义网桥`br0`、配置相同网段IP、桥接本地网卡以及修改Docker配置的步骤。最后解决了路由表问题,实现了容器间的ping通。
摘要由CSDN通过智能技术生成

本篇文章主要讲述利用网桥方式实现docker跨主机容器访问,参考文章:Docker网络基础---Docker跨主机容器访问通信 (http://blog.csdn.net/canot/article/details/52895897)
在同一宿主机下的Docker的容器之间是默认互相联通的。在容器内通过ifconfig可以查看到ip地址。在不同的容器中来执行ping是可以ping通的。

但我们通过观察发现,每一个启动容器的ip地址不是固定的,所以如果我们通过ip地址来实现互连明显是不靠谱的。但我们发现这些ip又处于同一网段中而且默认是172.17.0.X,这就是Docker容器默认跨主机之间的链接方法的第一种:网桥实现

在docker宿主机上运行ifconfig命令可以看的存在一个docker0的网桥。Docker容器通过docker0 网桥实现同一主机间中,容器的ip地址分配和访问,所以,如果希望Docker跨主机访问,最简单的方式就是将不同主机的docker0 设置为同一网段。

整个网络的拓扑结构图:
这里写图片描述

下面,我们就来实现这个结构:(在两台主机上操作相同,所以这里只展示一台的操作)
两台Ubuntu 的 ip:
Host1 : 192.168.1.209 网卡:eth0
Host2 :192.168.1.165 网卡: eth0
网关:192.168.1.1
具体操作:
我们不使用默认的网桥docker0,而是自己创建一个网桥:
sudo apt-get install bridge-utils
分别在docker主机上创建虚拟网桥:
sudo brctl addbr br0
为网桥分配一个同网段ip
Host1: sudoifconfigbr0192.168.1.1netmask255.255.255.0Host2: sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
桥接本地网卡:
Host1: $ sudo brctl addif br0 eth0
这里,我们就准备好了网桥设置

下面我们来修改Docker的配置,使用我们新建的网桥代替docker0:
修改 /etc/default/docker文件

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值