如何使docker容器ls -f名称按确切名称过滤?

zxlwwiss  于 2023-02-11  发布在  Docker
关注(0)|答案(2)|浏览(114)

docker container ls -f name=foo返回名称中包含 foo 的所有容器。这意味着它也返回一个名为foobar的容器。我如何过滤所有名为 foo 的容器?

4si2a6ki

4si2a6ki1#

docker container ls -f name=^foo$

它可以通过使用正则表达式来实现。插入符号^匹配名称的确切开头,美元符号$匹配结尾。

6jjcrrmo

6jjcrrmo2#

只有一个容器的名称完全是“foo”,所以用途:

$ docker container inspect foo

相反,您可以格式化输出以从中获取所需的任何数据。例如,显示当前状态和图像:

$ docker container inspect foo -f '{{.State.Status}} {{.Config.Image}}'
running foo_image:latest

从注解中,要查看容器“foo”是否存在,可以用途:

if docker container inspect foo >/dev/null 2>&1; then
  echo "container exists"
else
  echo "container does not exit"
fi

相关问题