Consul和Docker连接问题

时间:2017-09-22 09:52:59

标签: docker consul

我尝试按照此官方指南运行Consul代理作为Docker容器:https://hub.docker.com/_/consul/

第一个代理成功启动: docker run -d --name = dev-consul consul

但是当我启动命令 docker run -d consul agent -dev -join = 172.17.0.2 第二个代理因错误而停止:

==> Starting Consul agent...
==> Joining cluster...
==> 1 error(s) occurred:

* Failed to join 172.17.0.2: dial tcp 172.17.0.2:8301: i/o timeout

我检查了第一个容器ip是172.17.0.2。我的Docker版本是17.06.2-ce,构建cec0b72。领事版本0.9.3

请告知。

1 个答案:

答案 0 :(得分:1)

是的,我认为这不会适用于新版本的docker-machine和当前版本的consul。

你不是唯一一个在评论时遇到问题的人,也是自己尝试(使用相同版本的所有版本)。

尝试启动服务器和几个客户端容器。

docker run -d --name=node0 consul agent -server -client=0.0.0.0 -node=node0 -bootstrap-expect=1 -bind=172.17.0.2 -data-dir=/tmp/consul
docker run -d --name=node1 consul agent -client=0.0.0.0 -node=node1 -bind=172.17.0.3 -data-dir=/tmp/consul -join=172.17.0.2
docker run -d --name=node1 consul agent -client=0.0.0.0 -node=node2 -bind=172.17.0.4 -data-dir=/tmp/consul -join=172.17.0.2

老实说,无论如何,在'dev'模式下没有太多的意义。