本地主机

时间:2016-08-17 12:01:05

标签: docker docker-swarm

best article using native hosts for Docker swarm I found仍然让我没有工作群集!

使用的命令如下:

Pre Setup:
    service docker stop
    docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    docker run -d -p 8500:8500 --name=consul -server -bootstrap

Cluster Setup:
    docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise <manager0_ip>:4000 consul://<consul_ip>:8500

Agent Setup:
    docker run -d swarm join --advertise=<node_ip>:2375 consul://<consul_ip>:8500

要测试,它说要在管理器节点上运行此命令:

docker -H :4000 run -itd ubuntu

然而,当我这样做时,我得到:

docker: Error response from daemon: No healthy node available in the cluster.

因此,我有一系列问题:

  1. 列出了3个不同的IP地址,我在consul容器上创建了一个bash shell并获得了一个。任何人都可以澄清具体如何获得“manager0_ip”和“node_ip”的具体细节吗?

  2. 2375到4000之间的端口使用情况令人困惑。如果swarm manage在4000上做广告,为什么端口2375上的swarm join?另外,在第二个=案例中使用advertise是否正确?它不是第一个。

  3. 链接文章中未提及swarm init。任何人都可以评论那里的语义吗?什么时候需要,什么时候不需要?

1 个答案:

答案 0 :(得分:1)

Docker swarm现在集成在docker引擎中,版本为1.12。这个新功能的工作原理详见:

https://docs.docker.com/engine/swarm/

阅读本文将解释新的“ docker swarm ”,“ docker node ”和“ docker service ”命令如何工作。

设置群体从未如此简单。所以扔掉那个链接,升级到版本1.12并再试一次:-)

实施例

在管理器节点上运行以下命令:

1::00

这将打印以下示例输出

docker swarm init --advertise-addr $MANAGER_IP

了解它如何提供向群组中添加其他管理员和工作人员的命令?只需在每个附加节点上运行这些命令即可扩展您的群。