使用网桥
配置简单、不依赖第三方软件;将容器和物理机放在同一网段
网络设置
vim /etc/network/interfaces
|
|
Docker网络设置
vim /etc/default/docker
|
|
演示
使用自定义网桥
在启动docker服务的时候,使用-b BEIDGE 或者–bridge=BEIDGE来指定使用的网桥
|
|
ip addr show bridge0
配置Docker服务
默认桥接到创建的网桥上
echo ‘DOCKER_OPTS=”-b=bridge0”‘ >> /etc/default/docker
service docker start
新建容器进行测试
使用Open vSwitch
高质量、多层虚拟交换机 使用GRE协议
12 GRE 通用路由协议封装隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式,使用隧道传送的数据可以是不同协议的数据帧或包,隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送;新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。
安装
apt-get install openvswitch-switch
apt-get install bridge-utils配置
pc1=192.168.1.110
pc2=192.168.1.55
1234567 #建立网桥ovs-vsctl add-br obr0#添加GRE连接ovs-vsctl add-port obr0 gre0#配置Docker容器虚拟网桥set interface gre0 type=gre options:remote_ip=192.168.1.55root@tp-ubuntu:/etc/default# ovs-vsctl show
|
|
|
|
修改Docker配置文件
为虚拟网桥添加ovs接口
vim /etc/default/docker
1 BRIDGE=br0
使用weave
原理:建立一个虚拟的网络,用于将运行在不同主机的Docker容器连接起来
安装
1 wget -O /usr/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave && chmod a+x /usr/bin/weaveweave操作
|
|
启动虚拟机
客户机1
192.168.1.110
1 weave luanch客户机2
|
|
虚拟机1
1 weave run 192.168.11.2/24 -it ubuntu:14.04 /bin/bash虚拟机2
|
|
查看weave路由状态
weave ps
12 容器重启问题如果使用weave,则就不能再使用docker自带的auto-restart feature(如docker run –restart=always redis),因为weave是在docker之外为容器配置的网络,容器重启的时候docker本身不会做这些事情。因而,还需额外的工具来管理容器的状态(比如systemd, upstart等),这些工具要调用weave命令(weave run/start/attach)来启动容器。