以编程方式停止 docker 容器

Programmatically stopping a docker container

我想以编程方式获取 运行 容器的 ID 并停止它。不过,我有点迷茫

这是我用来获取 运行 容器 ID 的命令:

docker ps -q --no-trunc --format="{{.ID}}" --filter "ancestor=<repo-name>"

如何将此命令的输出传递给

docker stop <id>

我是 docker 的新手,所以才有这个问题。 TIA

如果您使用的是 bash,您可以使用反引号来评估命令并在命令输出中替换,在您的情况下:

docker stop `docker ps -q --no-trunc --format="{{.ID}}" --filter "ancestor=<repo-name>"`

请考虑阅读 this related Unix Stackexchange question,它可能也会有所帮助。

如链接问题中所建议,您也可以使用 $(...) syntax

docker stop $(docker ps -q --no-trunc --format="{{.ID}}" --filter "ancestor=<repo-name>")

虽然我不知道在这个特定的用例中,$(...) 语法比 working with PowerShell too 更具有优势。