docker 如何按名称查找正在运行的容器?

zbq4xfa0  于 2023-04-05  发布在  Docker
关注(0)|答案(2)|浏览(203)

docker ps命令支持一个--filter name=X,不幸的是,它匹配名称的任何部分。所以上面的命令将返回 both 容器:XXY。我尝试了一个正则表达式name='^X$',但它不工作
如何确定容器是否按名称运行?

new9mtju

new9mtju1#

这个问题很老了,但JFTR:在docker.com Forum上有一个有用的帖子,它传播了“grep”方法,但甚至显示了以下“docker only”方法:
对于名为foo的容器:
docker ps -a --no-trunc --filter name=^/foo$
你的问题的另一个答案是:

docker ps --filter name=^/X$
rxztt3cl

rxztt3cl2#

我使用docker container inspect。要查看容器是否存在,请检查/bin/shbash中带有if的命令的错误状态:

if [ "$(docker container inspect --format '{{.State.Status}}' $container_name 2>&1)" == "running" ]; then
  echo "running"
else
  echo "not_running"
fi

相关问题