一个容器没有退出,即使其他两个容器,在docker撰写

时间:2017-08-02 23:03:24

标签: docker docker-compose dockerfile

所以我有三个容器,用于测试目的: 1开发服务器 2硒无头 3个单位。

它们全部并行运行并且运行正常。唯一的问题是,当其他两个hav退出并完成运行测试时,我的1个dev服务器容器不会退出/停止。如果其中一个容器以代码1退出,我当然希望它以1退出。

在退出其他两个容器后,我该怎么办并添加它才能退出?

我的docker-compose文件看起来像这样。 :

version: "3"

services:
  dev-server:
    build: .
    tty: true
    hostname: yeti-ui
    container_name: yeti-ui
    ports: 
      - 127.0.0.01:8080:8080
      - 35729:35729
    environment:
      - "SKIP_DOCS=0"
      - "SCHEME=http"
      - "NODE_ENV=stage"
    entrypoint: npm
    command: run dev-server

  headless-chrome:
    build:
      context: .
      dockerfile: ./Dockerfile-headless-chrome
    cap_add:
      - SYS_ADMIN
    network_mode: "host"

  unit-test:
    build: .
    entrypoint: npm
    command: test

2 个答案:

答案 0 :(得分:0)

您可以使用:

docker-compose up --abort-on-container-exit

如果您的某个容器停止,将停止所有容器。 See documentation

答案 1 :(得分:0)

我认为你的两个选择是:

  1. 使用docker-compose run单独运行服务并检查 退出代码。
  2. 使用docker-compose up然后解析输出 docker-compose ps
  3. 查看此Related Answer