docker container ls -f name=foo返回名称中包含 foo 的所有容器。这意味着它也返回一个名为foobar的容器。我如何过滤所有名为 foo 的容器?
docker container ls -f name=foo
foobar
4si2a6ki1#
docker container ls -f name=^foo$
它可以通过使用正则表达式来实现。插入符号^匹配名称的确切开头,美元符号$匹配结尾。
^
$
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
2条答案
按热度按时间4si2a6ki1#
它可以通过使用正则表达式来实现。插入符号
^
匹配名称的确切开头,美元符号$
匹配结尾。6jjcrrmo2#
只有一个容器的名称完全是“foo”,所以用途:
相反,您可以格式化输出以从中获取所需的任何数据。例如,显示当前状态和图像:
从注解中,要查看容器“foo”是否存在,可以用途: