我正在为Magento应用程序堆栈构建Docker Swarm。使用Swarm的主要原因是应用程序堆栈将在多节点环境中运行。
以下是应用程序堆栈将运行的服务 -
上述4项服务中的每项服务应该是单独的群集群(即4种不同的群集群)的一部分吗?或者,是否只有整个应用程序堆栈的单个群集集群以及某种机制(可能使用Swarm过滤器),只将服务部署到特定的节点集?
最佳做法是什么?
答案 0 :(得分:0)
上述4项服务中的每项服务应该是单独的群集群(即4种不同的群集群)的一部分吗?
相同的群集群集(用于访问同一个泊坞网络的所有服务),尤其是在使用群集模式时 请参阅Docker队长Deploy a multi services application with swarm mode中的“Luc Juggery” 他创建了一个docker网络和一个kv商店(使用swarm模式时不需要),并启动所有连接到同一网络的4个服务。
docker-machine ssh manager1 docker network create -d overlay appnet
docker-machine ssh manager1 docker service create --name redis --network appnet redis:3.0.7-alpine
docker-machine ssh manager1 docker service create --name mongo --network appnet mongo:3.2
...
但是,将这些服务(再次,在同一群集群中)分组的“群模式”方式是Distributed Application Bundle,如“My first try with DAB (aka Distributed Application Bundle)”所示。
它使用docker-compose bundle
将现有的docker compose文件转换为dab
注意:在docker 1.12中,bundle仍然是实验性的。