4

假设我们有以下堆栈文件:

version: "3"
services:
  ubuntu:
    image: ubuntu
    deploy:
      replicas: 2
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
    entrypoint:
      - tail
      - -f
      - /dev/null
    logging:
      driver: "json-file"
    ports:
      - "80:80"
    networks:
      - webnet
  web:
    image: httpd
    ports:
      - "8080:8080"
    hostname: "apache"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
      resources:
        limits:
          memory: 32M
        reservations:
          memory: 16M
    depends_on:
      - "ubuntu"
    networks:
      - webnet
networks:
  webnet:

当我运行docker service inspect mystack_web生成的输出时,没有显示对depends_on条目的任何引用。

可以吗?以及如何打印给定 docker 服务的依赖项?

4

1 回答 1

10

depends_on不在 docker swarm 上使用:

depends_on在使用版本 3 compose 文件以 swarm 模式部署堆栈时,该选项将被忽略。-来自 Docker 文档

GitHub 上的另一个很好的解释:

depends_on与 .一起使用时是无操作的docker stack deploy。Swarm 模式服务在失败时会重新启动,因此没有理由延迟它们的启动。即使他们失败了几次,他们最终都会恢复。-来自 GitHub

于 2018-03-14T17:35:11.017 回答