docker跨主机容器访问(网桥实现)
来源:互联网 发布:什么叫自动编程 编辑:程序博客网 时间:2024/06/07 01:08
本篇文章主要讲述利用网桥方式实现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:
桥接本地网卡:
Host1: $ sudo brctl addif br0 eth0
这里,我们就准备好了网桥设置
下面我们来修改Docker的配置,使用我们新建的网桥代替docker0:
修改 /etc/default/docker文件
这时在主机上输入ifconfig会发现多了一个br0,net addr:192.168.1.1
启动docker容器,输入ifconfig,eth0地址为192.168.1.2
使用ping主机发现ping不同,然后查看路由表:route
发现eth0和br0的目的地一致,而且eth0在前,会导致容器找到eth0,所以无法ping通
解决方法:sudo route del -net 192.168.1.0/24 eth0
然后重新ping主机成功,ping另一台主机的容器也成功!
- docker跨主机容器访问(网桥实现)
- 【Docker容器的跨主机访问】-【使用网桥实现跨主机容器连接】
- Docker跨主机容器访问通信-网桥方式
- 利用虚拟网桥实现Docker容器的跨主机访问
- (菜汪学docker) 用vmware 完成 docker+ovs+vxlan 实现容器跨主机访问
- docker 使用网桥实现跨主机容器链接
- 【Docker容器的跨主机访问】- 使用Open vSwitch实现跨主机容器连接
- 【Docker容器的跨主机访问】- 使用weave实现跨主机容器连接
- Docker跨主机容器访问通信
- Docker网络基础---Docker跨主机容器访问通信
- (菜汪学docker)docker+macVlan实现容器跨主机
- Docker跨主机容器访问通信-Open vSwitch
- 如何实现跨 Docker 主机存储?- 每天5分钟玩转 Docker 容器技术(73)
- Docker实现跨主机容器实例网络通信(2)——利用OpenVSwitch构建多主机Docker网络
- Docker实现跨主机容器实例网络通信(1)——利用LinuxBridge构建多主机Docker网络
- 基于OVS+VXLAN实现Docker容器跨主机通讯
- 使用openvswitch实现跨主机docker容器互联
- 使用openvswitch实现跨主机docker容器互联
- ToDoMVC ( jQuery )
- Hibernate4教程三:Hibernate的基本开发
- 一些VS快捷键
- mysql explain用法和结果的含义
- Oracle和DB2转换的部分区别
- docker跨主机容器访问(网桥实现)
- Java中加载Groovy文件及调用其方法
- Oracle的id自增长的两种方式
- JS中popup.js
- POJ
- document.selection.createRange方法----获取选择对象文本
- Hibernate4教程七:实战-概念整理
- mySQL中索引index详解
- 在CentOS上部署OpenStack(一)