Docker 如何阻止容器无害化?

Docker 如何阻止容器无害化?,docker,Docker,我使用docker容器停止xxx。如果docker容器xxx不存在,将导致jenkins失败 我想知道是否有一个参数可以停止一个容器而不失败。它意味着当容器存在时,删除它,否则什么也不做。您可以使用以下命令: docker container ps -all --filter "id=XXXXXX" --format {{.ID}} |xargs --no-run-if-empty docker container stop 说明: docker container ps-all:此命令将列出

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


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

您可以使用以下命令:

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容器ps-all-filter id=XXXXXX-format{{.id}}:此命令将仅打印出容器id

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


xargs-空docker容器停止时不运行:仅当| pipe之前的命令为非空时,此命令才会停止docker容器。

您可以使用以下命令:

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容器ps-all-filter id=XXXXXX-format{{.id}}:此命令将仅打印出容器id

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

xargs-空docker容器停止时不运行:仅当| pipe之前的命令为非空时,此命令才会停止docker容器。

使用此命令:

docker stop CONTAINER_NAME 2> /dev/null || true
将始终为您提供退出代码0

使用此选项:

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

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

您可以通过以下简单方式进行管理:

docker stop XXXX || true && docker rm XXXX || true
无论哪种情况,这都将返回true,并将成功地移出


有关详细信息,请访问:

您可以通过以下简单方式进行管理:

docker stop XXXX || true && docker rm XXXX || true
无论哪种情况,这都将返回true,并将成功地移出


详情请参见:

您能解释一下吗?我几乎不能理解它,但它也起作用。3Q!!!!!!!2> 重定向输出,这样您就看不到该命令的任何输出,如果失败| | true将把退出代码设置为0您能解释一下吗?我几乎不能理解它,但它也起作用。3Q!!!!!!!2> 重定向输出,这样您就看不到来自命令的任何输出,如果失败| | true将把退出代码设置为0