实现Docker跨主机间的容器网络连通

Server1(Server) 192.168.81.58 |内核版本 3.10.0-123.el7.x86_64 |Docker版本 1.12.6

Server2(Agent)  192.168.81.59                  3.10.0-123.el7.x86_64                     1.12.6

目标:实现两个CentOS7容器server1,server2网络互通

上传docker_consul包consul_0.7.2_linux_amd64.zip

解压consul并移动到$PATH中

unzip consul_0.7.2_linux_amd64.zip -d /usr/local/bin

Server1:

mkdir /opt/d_c

nohup consul agent -server -bootstrap -data-dir /opt/d_c -bind=192.168.81.58 &

显示结果:nohup: ignoring input and appending output to ‘nohup.out’

Server2:

mkdir /opt/d_c

nohup consul agent -data-dir /opt/d_c -bind=192.168.81.59 &

显示结果:nohup: ignoring input and appending output to ‘nohup.out’

让agent加入到server中

consul join 192.168.81.58

显示结果:Successfully joined cluster by contacting 1 nodes.

vim /etc/sysconfig/docker-network

DOCKER_NETWORK_OPTIONS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://localhost:8500 --cluster-advertise eno16777736:2375"

service docker restart

docker network ls

显示结果包含:multihost overlay global

查看Docker网络内的成员

consul members list

Server1:

docker run -d --net=multihost --name=web1 nginx

docker exec -it web1 /bin/bash

Server2:

docker run -d --net=multihost --name=web2 nginx

docker exec -it web2 /bin/bash

ping web1

ping web2

创建指定静态IP的network

docker network create -d overlay --ip-range=192.168.2.0/24 --gateway=192.168.2.1 --subnet=192.168.2.0/24 multihost2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容