我正在尝试在多个实例上部署应用程序。 在主节点上,我使用了这些命令:
-
docker swarm init
-
docker network create --attachable --driver overlay fabric
-
docker stack deploy --compose-file docker-compose-org2.yaml fabric
并且该服务已部署在主节点上并且运行正常。
现在我有另一个名为:docker-compose-orderer.yaml
的撰写文件我想将其部署在其他 AWS 实例上。
我在worker node
上使用了以下命令:
-
docker swarm join --token SWMTKN-1-29jg0j594eluoy8g86dniy3opax0jphhe3a4w3hjuvglekzt1b-525ene2t4297pgpxp5h5ayf89 <IP>:2377
-
docker stack deploy --compose-file docker-compose-org1.yaml fabric
它命令docker stack deploy --compose-file docker-compose-org1.yaml fabric
说this node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again
有人知道如何在工作节点中部署撰写文件吗?
任何帮助/建议将不胜感激。
更新 1:
Worker节点成功加入Swarm Manager。
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
qz9y7p1ba3prp23xtuv3uo2dk ip-172-31-18-206 Ready Active 18.06.1-ce
no97mrg6f7eftbbeu86xg88d9 * ip-172-31-40-235 Ready Active Leader 18.06.1-ce
最佳答案
您必须在管理器节点上应用所有docker service
和docker stack
命令。它将自动将容器部署在较少使用的节点上。当您想要在特定节点上显式部署容器时,您必须标记该节点并使用约束。
关于Docker 群 : deploy containers on Worker node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51999786/