【发布时间】:2019-07-28 13:20:59
【问题描述】:
我有一个 docker-compose.yml 文件,它可以启动 11 个容器:
- 1 个容器运行我要测试的 Web 应用程序
- 10 个几乎相同的容器运行一系列针对第一个容器的端到端测试
只有在所有 10 个测试容器都运行完所有测试之后,我希望 docker-compose 停止所有 11 个容器。
docker-compose up 是否支持此类功能,还是我需要在此基础上构建自己的功能?
【问题讨论】:
-
afaik,docker-compose(它是包装器)不支持这个。但是编写一个小脚本来检查容器 docker-compose in-network 的可用性并不难。
-
您可以通过运行状况检查来做到这一点。
-
@dov-rine 谢谢。
healthcheck很有趣,但我如何让它检查每个容器中的其他 9 个容器? -
@urig:你不知道。如果您需要容器相互检查,那么您需要使用 Butuzov 的答案。 Docker-compose 没有进入容器;它协调它们的构建、操作和拆除。
-
@urig:您可以通过创建一个脚本来使用组合,该脚本根据每个容器的测试进度报告其健康状况,并让 docker-compose 使用该脚本进行健康检查。
标签: docker docker-compose end-to-end