本地主机上的Docker Swarm

使用Docker群集的本地主机的最好的文章,我仍然没有工作集群!

使用的命令如下:

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 

为了testing,它说在manager节点上运行这个命令:

 docker -H :4000 run -itd ubuntu 

但是,当我这样做时,我得到:

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

结果我有这样一组问题:

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

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

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

Docker swarm现在集成在Docker引擎中,版本1.12。 这个新function如何工作在这里详细介绍:

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

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

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

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

 docker swarm init --advertise-addr $MANAGER_IP 

这将打印下面的示例输出

 Swarm initialized: current node (00ehj7mi2eaiix2uy46hn9ja8) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-4tn8u9ywprdez0u2qfmv1lv0iq0x4r4aiwexgjg6gi7s63dqrw-192xx5jwhrxpy1q08xmb1dwyy \ 192.168.1.18:2377 To add a manager to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-4tn8u9ywprdez0u2qfmv1lv0iq0x4r4aiwexgjg6gi7s63dqrw-9ow8agcir34zovprrt512rbz3 \ 192.168.1.18:2377 

看看它是如何提供的命令来添加额外的经理和工作人员群? 只需在每个附加节点上运行这些命令来扩展你的群。