如何在分布式服务器中设置 docker swarm?

How to setup docker swarm in distributed server?

我已经使用 docker-compose 设置了单主机 docker 部署。但是现在我在 vultr 上有 4 个服务器实例 运行 每个都有不同的服务 运行。 例如,

服务器 1:mongodb

服务器 2:node/express

服务器 3:redux

服务器 4:负载均衡器

如何使用 docker swarm 连接所有这些服务?

  • 您应该使用 docker swarm init and docker swarm join. Each node is docker engine installed on a different host. If you have just 4 hosts you can decide that all nodes will be managers 创建节点群。

  • 然后你应该部署 docker stack 这将部署你的 docker 使用 docker-compose.yml 文件的服务(mongodb,等等...):docker stack deploy --compose-file docker-compose.yml

  • Docker服务会运行在所有节点上根据数量 您在创建每个服务时指定的副本。

  • 如果您希望每个服务在特定节点上 运行,请将 labels 分配给 每个节点并添加 service constraints.