具有强制拓扑的多站点 docker 群
Multiple site docker swarm with enforced topology
我正在构建概念验证 docker 基于 swarm 的应用程序堆栈,旨在改进目前部署到许多物理站点并由分布式 CDN 支持的产品。 docker 我设置的组合系统包括许多不同的图像类型,我需要确保将它们部署到每个物理位置(每个服务 A 的三个副本,每个服务 B 的两个副本,在每个站点例如,每个站点都是属于 docker 群的几个并置的物理机器),然后是仅部署到中心源位置的其他站点。我想找到一种方法来部署它,并限制图像类型最终在群中的位置。这可能吗?
简答,是的。
长答案:
使用 docker compose 来管理您的集群,它将简化管理。
在创建你的 swarm 之后,你可以通过以下方式使 docker-compose 使用该 swarm:
docker-compose -H <docker-swarm-ip:port> up -d
如果您想要 container/service 到 运行 专门在主机上。
在 docker-compose.yml 中您要在该主机上 运行 的服务下添加以下条目:
environment:
- "constraint:node==<host>"
这就是我现在做的方式。
我相信当您使用 运行 命令时这也是可用的。很难,我从来没有尝试过。
我正在构建概念验证 docker 基于 swarm 的应用程序堆栈,旨在改进目前部署到许多物理站点并由分布式 CDN 支持的产品。 docker 我设置的组合系统包括许多不同的图像类型,我需要确保将它们部署到每个物理位置(每个服务 A 的三个副本,每个服务 B 的两个副本,在每个站点例如,每个站点都是属于 docker 群的几个并置的物理机器),然后是仅部署到中心源位置的其他站点。我想找到一种方法来部署它,并限制图像类型最终在群中的位置。这可能吗?
简答,是的。
长答案: 使用 docker compose 来管理您的集群,它将简化管理。 在创建你的 swarm 之后,你可以通过以下方式使 docker-compose 使用该 swarm:
docker-compose -H <docker-swarm-ip:port> up -d
如果您想要 container/service 到 运行 专门在主机上。
在 docker-compose.yml 中您要在该主机上 运行 的服务下添加以下条目:
environment:
- "constraint:node==<host>"
这就是我现在做的方式。
我相信当您使用 运行 命令时这也是可用的。很难,我从来没有尝试过。