当其他两个容器退出时,服务器容器不会退出

时间:2017-08-03 17:22:15

标签: docker makefile docker-compose

所以我有三个容器,用于测试目的:1个dev-server 2 selenium-headless 3个单元。

它们全部并行运行并且运行正常。唯一的问题是我的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

我无法使用--abort-on-container-exit--exit-on-code因为我需要在开发服务器停止之前完成其他两项工作。

这是我在makefile中运行的方式:

docker-selenium-headless
    docker ps -qa | xargs docker rm -f
    docker-compose up --build

0 个答案:

没有答案