1.通过网桥远程连接(不常用):
注意:虚拟机使用Parallels
原理:将本地物理网卡连接到自定义网桥上
1-1.虚拟机网络配置文件修改:
/etc/network/interfaces配置文件修改(不使用工具创建网桥的原因是因为要机器重启之后仍旧能发挥作用):
auto br0:要建立的自定义网桥的名称
iface br0 inet static:
address 10.211.55.3(虚拟机IP)
netmask 255.255.255.0:子网掩码
gateway 10.211.55.1:默认的网关
bridge_ports eth0:指明将本地物理网卡连接到新建的网桥
/etc/default/docker配置文件修改:
-b = br0:指定使用自定义的网桥
--fixed-cidr = 10,211,55,128/26:指定容器IP地址的分配范围(10.211.55.65~10.211.55.126)
2.使用Open vSwitch实现远程连接:
原理:通过GRE(通用路由协议封装)实现
安装:apt-get install openvswitch-switch
安装网桥管理方式:apt-get install bridge-utils
配置步骤:
建立ovs网桥:sudo ovs-vsctl add-br obr0
添加gre连接:sudo ovs-vsctl add-port obr0 gre0
设置接口:sudo ovs-vsctl set interface gre0 type = gre options:remote-ip = 192.168.59.104(远程主机地址)
配置docker容器虚拟网桥:sudo brctl addbr br0(新建)
设置网桥:sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
为虚拟网桥添加ovs接口:sudo brctl addif br0 obr0(连接虚拟网桥与ovs网桥)
修改Docker配置文件时默认网桥为br0
添加不同Docker容器网段的路由表:sudo ip route 192.168.2.0/24(远程虚拟网桥br0的网段) via 192.168.59.104(远程主机地址) dev eth0(远程主机网卡)
3.使用weave实现远程连接:
原理:建立一个虚拟网络,让不同主机的容器在一个虚拟网络之内互联。
配置步骤:
安装weave:sudo wget -0 /usr/bin/weave https://raw.githunusercontent.com/zettio/weave/master/weave(github开源项目)
启动weave:sudo chmod a+x /usr/bin/weave(改变文件权限)
weave launch(启动weave,也就是通过一个weave镜像来运行一个weave容器)
连接不同主机:weave launch 192.168.59.103(另一台主机的IP)(在另一台主机上也启动weave)
通过weave启动容器:weave run 192.168.1.2/24(要在启动的容器中分配的IP地址) -it ubuntu /bin/bash
weave run 192.168.1.10/24(与另一台主机用weave启动的容器在同一网关) -it ubuntu /bin/bash