【发布时间】:2016-04-25 20:18:51
【问题描述】:
我尝试使用 swarm 和 consul 设置 docker 集群。我有manager、host1 和host2。
我在管理器上运行 consul 和 swarm manager 容器。
$ docker run --rm -p 8500:8500 progrium/consul -server -bootstrap
$ docker run -d -p 2377:2375 swarm manage consul://<manager>:8500
在host1和host2上,我用--cluster-store和--cluster-advertise修改守护进程选项,然后重启docker daemon。
host1
DOCKER_OPTS="--cluster-store=consul://<manager>:8500 --cluster-advertise=<host1>:2375"
host2
DOCKER_OPTS="--cluster-store=consul://<manager>:8500 --cluster-advertise=<host2>:2375"
当我将 host1 和 host2 加入 swarm 时,它失败了。
host1 $ docker run --rm swarm join --advertise=<host1>:2375 consul://<manager>:8500
host2 $ docker run --rm swarm join --advertise=<host2>:2375 consul://<manager>:8500
从 swarm manager 日志中,它出错了。
time="2016-01-20T02:17:17Z" level=error msg="Get http://<host1>:2375/v1.15/info: dial tcp <host1>:2375: getsockopt: connection refused"
time="2016-01-20T02:17:20Z" level=error msg="Get http://<host2>:2375/v1.15/info: dial tcp <host2>:2375: getsockopt: connection refused"
【问题讨论】:
-
我也面临同样的问题。我跟着这个链接docs.docker.com/swarm/install-manual
标签: docker