使用docker撰写时如何设置服务模式?

时间:2016-10-27 09:31:22

标签: docker docker-compose docker-swarm

我需要在使用撰写文件时将服务模式设置为全局。

我们有机会在撰写文件中使用它吗? 我要求服务在每个节点/主机上应该只有一个容器。

"传播策略&#34>不会发生这种情况。如果一个节点出现故障无论服务如何,它都会在每个主机上获得相同数量的容器。

https://github.com/docker/compose/issues/3743

1 个答案:

答案 0 :(得分:0)

我们现在可以使用docker compose v3(版本3)在部署(模式)部分轻松完成此操作。

先决条件 -

docker compose version should be 1.10.0+

docker engine version should be 1.13.0+

示例撰写文件 -

version: "3"

  services:
    nginx:
      image: nexus3.example.com/prd-nginx-sm:v1
      ports:
        - "80:80"
      networks:
        - cheers
      volumes:
        - logs:/rest/out/
      deploy:
        mode: global
        labels:
          feature.description: "Frontend"
        update_config:
          parallelism: 1
          delay: 10s
        restart_policy:
          condition: any
      command: "/usr/sbin/nginx"

networks:
  cheers:

volumes:
  logs:
  data:

部署撰写文件 -

$ docker stack deploy -c sm-deploy-compose.yml --with-registry-auth CHEERS

这将在参与群集的所有节点上部署nginx容器。