在我的应用程序包含多个容器中,我暂停了目前不需要的容器。当他们再次需要时,我会取消它们。这很好。
但是,如果其中一个正在运行的容器出现问题(容器退出并带有退出代码!= 0),docker-compose(我也在使用)会尝试停止所有其他容器。如果容器暂停,则无法停止或终止。
一个小例子来说明会发生什么。 (在我的情况下,所有这些命令都是自动的)
docker start cd1d8ad01f56
docker pause cd1d8ad01f56
docker stop cd1d8ad01f56
Error response from daemon: Cannot stop container cd1d8ad01f56:
Container cd1d8ad01f56c695a598e168e2eacdcd20a5231b9240029db1579bc0f1dcb903
is paused. Unpause the container before stopping
Error: failed to stop containers: [cd1d8ad01f56]
我希望容器停止,即使它们已暂停。
我想到的解决方案:
首先取消每个睡眠容器的停用,然后停止或杀死它。这是一个不合适的解决方案,需要手动工作。但它有效...... 我可以编写一个脚本来查找暂停的容器,然后取消暂停并杀死它们。但是我想要将其他东西全部杀掉并完成它。我不想发出另一个命令来执行我的脚本。
有没有办法指定退出的容器的代码(即告诉它取消暂停其他容器)?因此,当试图阻止它们时,容器没有被打开。
首先取消每个睡眠容器,然后停止或杀死它是繁琐的工作,我想自动化。我在测试环境中工作,并不关心容器是如何关闭的。我只是希望它们与失败的容器一起结束。