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

前端之家收集整理的这篇文章主要介绍了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(或更多)之间启动容器,并检查它是否。如果您的设置有问题,它可能会在实际退出之前显示为“运行”很短的时间。

猜你在找的Bash相关文章