首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >脚本如何检查特定的Docker容器是否正在运行?

脚本如何检查特定的Docker容器是否正在运行?
EN

Stack Overflow用户
提问于 2022-05-21 02:42:30
回答 1查看 122关注 0票数 0

我希望有一个shell脚本来检查某个容器是否正在运行。

例如,如果容器尚未运行,我可能希望启动它,或者查询一些有关它的信息,比如公开了哪些端口。

EN

Stack Overflow用户

回答已采纳

发布于 2022-05-21 02:42:30

docker ps命令采用一个-f / --filter选项来定位所需的容器。要测试容器是否按名称运行,我们可以尝试

代码语言:javascript
运行
复制
$ docker ps --filter "name=myapp" --filter "status=running"
CONTAINER ID   IMAGE               COMMAND   CREATED          STATUS          PORTS     NAMES
91959ed76e77   foo/barbaz:latest   "/init"   10 minutes ago   Up 10 minutes             myapp

如果我们只想要容器ID,因为我们要把它传递给另一个命令,比如docker exec,我们可以使用-q / --quiet

代码语言:javascript
运行
复制
$ docker ps --filter "name=myapp" --filter "status=running" --quiet
91959ed76e77

要检查它是否正在运行,我们可以查看输出是否为非空:

代码语言:javascript
运行
复制
if [ -n "$(docker ps -f "name=myapp" -f "status=running" -q )" ]; then
    echo "the container is running!"
fi

或者如果我们想要一些关于它的其他信息,--format

代码语言:javascript
运行
复制
$ docker ps -f "name=myapp" -f "status=running" --format "{{.Image}}"
foo/barbaz:latest
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72326287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档