Swarm Master 应该作为节点加入单节点集群吗?
Should Swarm Master Join As Node in a Single Node Cluster?
我们正在构建一个小型集群,一个(奇怪的)要求是在一台机器上设置所有内容,将来其他机器可以加入。
我设置了领事:
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 <image>
的图像,因为 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,我可以运行个容器。
请注意,<ip_here>
均指本机同一个ip。
这是预期的行为吗?如果不是,我做错了什么?
至于我,我使用Swarm Master作为Consul服务器。 This answer 可能对你有帮助。那么,回答一下,Swarm Master并没有作为单节点集群加入。
您不能在单个节点上部署 Swarm。那不是它的用途,也不能那样工作。 Swarm turns a pool of Docker hosts into a single, virtual Docker host,所以如果 Docker 主机池包含零个主机...没有 Docker 代理到主机容器。
看到 Docker 机器创建 Swarm 集群的方式,以及使用集成到 Docker v1.12.0 中的 Swarm 后,我想 post 更新。 Swarm master 通过 运行 两个容器,一个 agent 和一个 master 加入 Swarm 集群。
我们正在构建一个小型集群,一个(奇怪的)要求是在一台机器上设置所有内容,将来其他机器可以加入。
我设置了领事:
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 <image>
的图像,因为 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,我可以运行个容器。
请注意,<ip_here>
均指本机同一个ip。
这是预期的行为吗?如果不是,我做错了什么?
至于我,我使用Swarm Master作为Consul服务器。 This answer 可能对你有帮助。那么,回答一下,Swarm Master并没有作为单节点集群加入。
您不能在单个节点上部署 Swarm。那不是它的用途,也不能那样工作。 Swarm turns a pool of Docker hosts into a single, virtual Docker host,所以如果 Docker 主机池包含零个主机...没有 Docker 代理到主机容器。
看到 Docker 机器创建 Swarm 集群的方式,以及使用集成到 Docker v1.12.0 中的 Swarm 后,我想 post 更新。 Swarm master 通过 运行 两个容器,一个 agent 和一个 master 加入 Swarm 集群。