基于consul实现docker跨主机网络通信

前言

注意:

  1. linux内核版本需要3.12+
  2. docker主机名不能相同

步骤

  1. 下载consul的二进制包并启动
nohup /home/web/consul/bin/consul agent -server -bootstrap -ui -data-dir /home/web/consul/data -client=192.168.0.10 -bind=192.168.0.10 > /home/web/consul/log/consul.log 2>&1 &  
  1. 配置docker守护进程链接consul。修改docker.service文件
# --cluster-store的地址为consul服务的IP
# --cluster-advertise的地址为docker主机的IP
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 --cluster-store consul://192.168.0.10:8500 --cluster-advertise=192.168.0.10:2375
  1. 创建overlay网络
docker network create -d overlay multi_host
  1. 创建测试容器
docker run -it --rm --net=multi_host busybox:latest
  1. 在容器中互ping
posted @ 2022-02-18 17:21  花酒锄作田  阅读(252)  评论(0编辑  收藏  举报