玖叶教程网

前端编程开发入门

docker 系列十、跨主机容器网络访问

大家好,如果觉得小名写的文章对大家有帮助的话,麻烦三连一下下!(加关注,点个赞,转个发)


一、介绍

本次研究使用docker自带的overlay覆盖网络模式

1、overlay模式下指定具体ip网段 结果:可以

2、overlay模式下各主机各容器是否能相互内网访问。结果:可以

3、各主机是否能访问外网. 结果:可以

4、overlay对consul的依赖程度,在容器启动后关闭consul会有什么影响,,

影响:

各容器直接访问consul关闭前的状态,比如a容器 ping b容器,之前的通的,不管b容器有没有关闭,都是通的

依赖overlay网络的容器无法启动

二、搭建和测试

简单说下思路:

第一步:搭建consul做配置共享

第二步:各服务器启动dockerd,但是启动的时候指定配置保持至consul中

第三步:创建虚拟网络overlay

第四步:各服务器的容器启动的时候指定网络为虚拟网络overlay


使用的服务器ip分别是:

172.17.3.3和172.17.3.4

第一步:搭建consul做配置共享

先在172.17.3.4部署consul服务,用来做配置同步,该服务可做成单机也可集群看实际需求,这边研究就用来单机模式

1、下载consul启动包

wget https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip

2、解压并启动consul服务

unzip consul_1.2.1_linux_amd64.zip

nohup /root/consul agent -server -bootstrap -ui -data-dir=/root/consul-data  -client=0.0.0.0  -bind=172.17.3.4  -node=172.17.3.4  & 


第二步:各服务器启动dockerd,但是启动的时候指定配置保持至consul中

在172.17.3.4服务器上开启docker守护进程

nohup /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://172.17.3.4:8500 --cluster-advertise 172.17.3.4:2375  &

在172.17.3.3服务器上开启docker守护进程

nohup /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://172.17.3.4:8500 --cluster-advertise 172.17.3.3:2375  &


第三步:创建虚拟网络overlay

在172.17.3.4服务器上创建虚拟网络(默认网段为10.0.x.0/24)

docker network create -d overlay ov_net1


第四步:各服务器的容器启动的时候指定网络为虚拟网络overlay


两台服务器下载镜像

docker pull wuweichina/kong:v0.10.4

两台服务器开启容器kong

docker run -ti -p 8000:8000 --restart=always --network ov_net1 --name kong -v kong:/data -d wuweichina/kong:v0.10.4


然后登录两台服务器进行网络操作,看看是否通,也可以通过以下命令查看网段中ip的分配信息具体信息

docker network inspect ov_net1


结束,后面有需要也可以看看,修改网段测试的命令


如果需要创建指定新覆盖网络网段

docker network create -d overlay --subnet 10.22.1.0/24 ov_net2


然后把之前的ov_net1移到ov_net2

增加新网络

docker network connect ov_net2 kong

移除旧网络

docker network disconnect ov_net1 kong

查看网段具体信息

docker network inspect ov_net1

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言