Docker 应用程序堆栈应该由单个或多个群集组成?

Docker 应用程序堆栈应该由单个或多个群集组成?,docker,docker-compose,magento2,docker-machine,docker-swarm,Docker,Docker Compose,Magento2,Docker Machine,Docker Swarm,我正在为Magento应用程序堆栈构建Docker Swarm。使用Swarm的主要原因是应用程序堆栈将在多节点环境中运行 以下是应用程序堆栈将运行的服务- 清漆(加速剂) Nginx(web服务器) Redis(缓存/会话) MySQL(存储) 上述4项服务是否应属于单独的群集(即4个不同的群集)的一部分?或者,整个应用程序堆栈是否应该只有一个swarm集群以及某种机制(可能使用swarm过滤器),以便仅将服务部署到特定的节点集 最佳做法是什么 上述4项服务是否应属于单独的群集(即4个不同的群

我正在为Magento应用程序堆栈构建Docker Swarm。使用Swarm的主要原因是应用程序堆栈将在多节点环境中运行

以下是应用程序堆栈将运行的服务-

  • 清漆(加速剂)
  • Nginx(web服务器)
  • Redis(缓存/会话)
  • MySQL(存储)
  • 上述4项服务是否应属于单独的群集(即4个不同的群集)的一部分?或者,整个应用程序堆栈是否应该只有一个swarm集群以及某种机制(可能使用swarm过滤器),以便仅将服务部署到特定的节点集

    最佳做法是什么

    上述4项服务是否应属于单独的群集(即4个不同的群集)的一部分

    相同的swarm群集(用于所有服务访问相同的docker网络),尤其是在使用swarm模式时。
    参见码头工人船长的“”。
    他创建了一个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
    ...
    
    但将这些服务分组(同样,在同一个群集中)的“群模式”方式是通过,如“.”所示。
    它用于将现有docker compose文件转换为dab。

    注意:捆绑包在docker 1.12中仍处于试验阶段。

    感谢分享这些链接。Swarm服务和捆绑包在自动化方面看起来很有前景。但是,我有一个问题-如果我的所有节点都是单个群集的一部分,我如何控制将哪个服务部署到哪个节点?示例-MySQL服务应该只转到DB节点。您应该能够在environment部分中定义关联性(至少在版本2文件中是这样,它可能已更改,因此请参阅有关为您的配置文件版本配置关联性的文档)@PatrickCornelissen我在当前版本的docker中看不到affinity:container了。看到雷尔扎的答案了吗