如何停止无害化的容器?

时间:2019-09-18 08:41:37

标签: docker

我使用docker container stop xxx。如果不存在docker容器xxx,将导致jenkins失败。

我想知道是否有一个参数来停止容器而不失败,这意味着当容器存在时,将其删除,否则什么也不做。

3 个答案:

答案 0 :(得分:2)

您可以使用以下命令:

docker container ps -all --filter "id=XXXXXX" --format {{.ID}} |xargs --no-run-if-empty docker container stop

说明

docker container ps -all:此命令将列出所有容器。

docker container ps -all --filter "id=XXXXXX":此命令将列出容器ID为XXXXXX的容器。

docker container ps -all --filter "id=XXXXXX" --format {{.ID}}:此命令将仅打印出容器ID。

我们将使用此容器ID将其传递给xargs命令以运行Docker容器停止。

xargs --no-run-if-empty docker container stop:仅当"|"(管道)之前的命令非空时,此命令才会停止docker容器。

答案 1 :(得分:1)

使用此:

docker stop CONTAINER_NAME 2> /dev/null || true

将始终为您提供退出代码0

答案 2 :(得分:0)

您可以按照以下简单的方法进行管理:

docker stop XXXX || true && docker rm XXXX || true

无论哪种情况,它都将返回true,并将成功移出。

有关详细信息,请访问:stop and delete docker container if its running