微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 如何检测docker运行是否成功编程?

我写了一个非常简单的bash脚本,以快速检查我的容器仍然生成和启动正确,内部的应用程序响应请求。

有时docker运行失败,例如。因为我试图绑定容器的端口已经分配。但是当发生这种情况docker run的退出代码仍然是0,所以我不能使用退出代码。如何以编程方式检查容器是否正确启动?

我正在考虑的解决方案是:

>解析输出错误
> docker ps查看容器是否正在运行

但这些似乎有点过分和丑陋。我缺少一个更好的方法来检查docker运行是否成功?

正如AbelMuiño在评论中建议的,这可能已经在更新的Docker版本中修复(我目前运行0.9.1)。

但是,如果你暂时陷入像我这样的旧版本,我找到一个体面的解决方法来检查容器是否通过使用docker检查启动。

docker inspect返回一个JSON对象,其中包含有关容器的很多信息,特别是容器当前是否正在运行。 -f标志可以让您轻松提取所需的位:

docker inspect -f {{.State.Running}} $CONTAINER_ID

将返回true或false。

注意,你可能想要睡眠1(或更多)之间启动容器,并检查它是否。如果您的设置有问题,它可能会在实际退出之前显示为“运行”很短的时间。

原文地址:https://www.jb51.cc/bash/391055.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐