在GIC云主机上通过openvswith连接Docker
实现的效果图:
1. 创建GIC云主机(centos7):
公网IP 114.112.62.75,
私网IP 192.168.1.4,私网网卡 ens224
2. 安装openvswitch,我是参考了openvswitch 2.5.x的文档,制作rpm包后,yum localinstall rpm包。
3. 安装docker,
yum install docker
service docker start
4. 创建网桥
ovs-vsctl add-br helloworld
5. 把私网网卡加到网桥上,并给网桥一个ip地址
ovs-svctl add-port helloworld ens224
ip addr add 192.168.1.100/24 dev helloworld brd 192.168.1.255
6. 安装nsenter已查看docker对应的network namespace
yum install util-linux.x86_64
7. 创建两个docker
docker pull centos
docker run -itd --name=container1 --net=none centos /bin/bash
docker run -itd --name=container2 --net=none centos /bin/bash
查看两个docker的PID
docker inspect --format "{{.State.Pid}}" container1
5522
docker inspect --format "{{.State.Pid}}" container2
5413
通过nsenter操作两个docker的namespace,如:
nsenter -t 5522 -n ip addr
8. 把两个docker连接到网桥上
ovs-docker add-port helloworld eth0 container1 --ipaddress 192.168.1.101/24
ovs-docker add-port helloworld eth0 container2 --ipaddress 192.168.1.102/24
这时,两个docker与私网完全打通了。
图中第二台主机的配置过程类似,不再赘述。