我写了一个非常简单的bash脚本,以快速检查我的容器仍然生成和启动正确,内部的应用程序响应请求。
有时docker运行失败,例如。因为我试图绑定容器的端口已经分配。但是当发生这种情况docker run的退出代码仍然是0,所以我不能使用退出代码。如何以编程方式检查容器是否正确启动?
我正在考虑的解决方案是:
正如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 举报,一经查实,本站将立刻删除。