一个集装箱即使其他两个在docker工作,也不会退出

所以我有三个容器,用于testing目的:1 dev-server 2 selenium-headless 3 unit。

他们都运行并行,它工作正常。 唯一的问题是,当另外两个hav退出并完成运行testing时,我的1 dev-server容器不会退出/停止。 当然,如果其他容器之一退出代码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 

您可以使用:

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

如果其中一个容器停止,将会停止所有容器。 见文件 。

我think你的两个select是:

  1. 使用docker-compose run分别运行服务并检查退出代码。
  2. 使用docker-compose up然后parsingdocker-compose ps的输出。

看看这个相关的答案