我正在尝试在多个实例上部署应用程序。 在主节点上,我使用了以下命令:
该服务已部署在主节点上,并且运行正常
现在,我还有一个名为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:
工作节点已成功加入swarm管理器。
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
答案 0 :(得分:4)
您必须在管理器节点上应用所有docker service
和docker stack
命令。它将自动在较少使用的节点上部署容器。当您想在特定节点上显式部署容器时,必须标记该节点并使用约束。