docker ps命令支持一个--filter name=X,不幸的是,它匹配名称的任何部分。所以上面的命令将返回 both 容器:X和XY。我尝试了一个正则表达式name='^X$',但它不工作如何确定容器是否按名称运行?
docker ps
--filter name=X
X
XY
name='^X$'
new9mtju1#
这个问题很老了,但JFTR:在docker.com Forum上有一个有用的帖子,它传播了“grep”方法,但甚至显示了以下“docker only”方法:对于名为foo的容器:docker ps -a --no-trunc --filter name=^/foo$你的问题的另一个答案是:
docker ps -a --no-trunc --filter name=^/foo$
docker ps --filter name=^/X$
rxztt3cl2#
我使用docker container inspect。要查看容器是否存在,请检查/bin/sh或bash中带有if的命令的错误状态:
docker container inspect
/bin/sh
bash
if
if [ "$(docker container inspect --format '{{.State.Status}}' $container_name 2>&1)" == "running" ]; then echo "running" else echo "not_running" fi
2条答案
按热度按时间new9mtju1#
这个问题很老了,但JFTR:在docker.com Forum上有一个有用的帖子,它传播了“grep”方法,但甚至显示了以下“docker only”方法:
对于名为foo的容器:
docker ps -a --no-trunc --filter name=^/foo$
你的问题的另一个答案是:
rxztt3cl2#
我使用
docker container inspect
。要查看容器是否存在,请检查/bin/sh
或bash
中带有if
的命令的错误状态: