【问题标题】:Should Swarm Master Join As Node in a Single Node Cluster?Swarm Master 应该作为节点加入单节点集群吗?
【发布时间】:2016-09-22 15:54:53
【问题描述】:

我们正在构建一个小型集群,并且(奇怪的)要求是在一台机器上设置所有内容,其他机器将来可以加入。

我设置了领事:

docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap

和主人:

docker run -d -p 4000:4000 swarm manage -H :4000 --advertise <ip_here>:4000 consul://<ip_here>:8500

docker 在哪里运行:

sudo docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

并且docker -H :4000 info 在此阶段将节点列为 0,我无法使用docker -H :4000 run &lt;image&gt; 运行任何图像,因为No healthy node available in the cluster.

当我将主节点加入集群时:

docker run -d swarm join --advertise=<ip_here>:2375 consul://<ip_here>:8500

然后docker -H :4000 info将节点列为1,我可以运行容器。

请注意&lt;ip_here&gt;都是指本机同一个ip。

这是预期的行为吗?如果没有,我做错了什么?

【问题讨论】:

    标签: docker docker-machine docker-swarm


    【解决方案1】:

    在看到 Docker Machine 创建 Swarm 集群的方式,以及使用集成到 Docker v1.12.0 中的 Swarm 之后,我想发布一个更新。 Swarm master 确实加入了 Swarm 集群,通过运行两个容器,一个代理和一个 master。

    【讨论】:

      【解决方案2】:

      至于我,我使用 Swarm Master 作为 Consul 服务器。 This answer 可以帮助你。然后,作为回答,Swarm Master 不会作为单节点集群加入。

      您不能在单个节点上部署 Swarm。那不是它的用途,也不能那样工作。 Swarm turns a pool of Docker hosts into a single, virtual Docker host,所以如果 Docker 主机池包含零个主机...没有 Docker 代理来托管容器。

      【讨论】:

      • 我的问题更多是为什么我不能在 Swarm master 上运行容器而不将其加入集群,因为节点被视为 0。
      • “节点被视为 0”是什么意思?你有多少个 Swarm Agent?
      • 我的意思是节点号。 Swarm master 将节点数显示为 0。由于No healthy node available in the cluster,我无法部署容器。我只在 1 个节点上运行 swarm,这是主节点。
      • 你不能在单个节点上部署 Swarm。那不是它的用途,也不能那样工作。 Swarm turns a pool of Docker hosts into a single, virtual Docker host,所以如果 Docker 主机池 包含零个主机...没有 Docker 代理来托管容器。
      • 是的,就是这样。你能告诉我你执行的启动 Swarm 的命令吗? You'll get a detailed step-by-step tutorial to deploy Swarm on this answer
      猜你喜欢
      • 2016-12-14
      • 2016-07-11
      • 1970-01-01
      • 2013-04-24
      • 2017-02-07
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多