Docker Swarm:在Worker节点上部署容器

时间:2018-08-24 07:47:43

标签: docker docker-compose docker-swarm docker-swarm-mode

我正在尝试在多个实例上部署应用程序。 在主节点上,我使用了以下命令:

  • docker swarm初始化
  • docker网络创建--attachable --driver覆盖结构
  • docker stack deploy --compose-file docker-compose-org2.yaml结构

该服务已部署在主节点上,并且运行正常

现在,我还有一个名为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 fabricthis 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

1 个答案:

答案 0 :(得分:4)

您必须在管理器节点上应用所有docker servicedocker stack命令。它将自动在较少使用的节点上部署容器。当您想在特定节点上显式部署容器时,必须标记该节点并使用约束。