首页 > 解决方案 > 使用 docker-compose 时忽略容器退出

问题描述

我正在使用 docker-compose 建立一个测试基础设施。我想使用 docker-compose 选项--exit-code-from从运行测试的容器中返回退出代码。但是,我还有一个容器,它使用 sequelize cli 在我的数据库容器上运行迁移。迁移完成后,此迁移容器以代码 0 退出,然后我的测试运行。这会导致--exit-code-from--abort-on-container-exit选项出现问题。迁移容器退出时有没有办法忽略?

标签: dockerdocker-composejestjssequelize-cli

解决方案


--exit-code-from暗示--abort-on-container-exit,根据文档

--abort-on-container-exit 如果任何容器停止,则停止所有容器。

但你可以尝试:

docker inspect <container ID> --format='{{.State.ExitCode}}'

您可以使用以下命令获取所有(包括停止的)容器的列表

docker container ls -a

这是一个很好的例子:检查已停止容器的退出代码


推荐阅读