使用docker 原生overlay网络部署夸宿主机访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker 原生overlay网络部署夸宿主机访问相关的知识,希望对你有一定的参考价值。

要使用docker 原生的overlay,要满足任意的2个条件:
1,docker 运行在swarm 模式
2,使用键值存储docker 主机集群

这里使用consul 键值存储来部署
节点1/键值存储(Server):192.168.1.198
节点2(Client):192.168.1.199
1,下载consul二进制包 进行部署(下载到server节点)

wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd64.zip

2,解压缩添加执行命令

unzip consul_0.9.2_linux_amd64.zip
mv consul /usr/bin/consul && chmod +x /usr/bin/consul

3,指定后台运行,并将启动信息重定向到日志里(指定类型为server 客户端信息绑定信息) -ui 可以通过网页访问看到consul的基本情况,-bind 监听的地址

nohup consul agent -server -bootstrap -ui -data-dir /var/lib/consul -client=192.168.1.198 -bind=192.168.1.198
&>/var/log/consul.log &
cat /var/log/consul.log \\查看日志 是否启动成功

4,server节点配置docker 守护进程consul(修改docker启动文件)consul://server地址

vi /lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul:// 192.168.1.198:8500
--cluster-advertise 192.168.1.198:2375(通告信息)

重新加载docker配置文件使更改生效

systemctl daemon-reload 
service docker restart

5,client节点配置

vi /lib/systemd/system/docker.service
[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 --cluster-store consul:// 192.168.1.198:8500
--cluster-advertise 192.168.1.199:2375

重新加载使配置生效

systemctl daemon-reload 
service docker restart

6,创建overlay网络(任意一台 最好是server 端,他会同步到其他node)

docker network create -d overlay multi_host(网络名)

7测试互通

docker run -itd --net=multi_host busybox (--net 加入overlay 网络)
ping ....

以上是关于使用docker 原生overlay网络部署夸宿主机访问的主要内容,如果未能解决你的问题,请参考以下文章

Docker overlay网络宿主机无法连接到容器的解决方案

Docker overlay网络宿主机无法连接到容器的解决方案

【swarm】Docker跨主机网络:overlay

Docker Overlay 应用部署

Docker CE overlay网络简单测试

docker overlay网络拓扑及服务注册问题