正如AbelMuiño在评论中所建议的那样,这可能已在较新的Docker版本中修复(我当前正在运行0.9.1)。
但是,如果您像我一样暂时停留在较旧的版本上,那么我确实找到了一种不错的解决方法来检查容器是否通过使用开始
docker inspect。
docker inspect返回一个JSON对象,其中包含有关容器的大量信息,尤其是容器当前是否正在运行。该
-f标志使您可以轻松提取所需的位:
docker inspect -f {{.State.Running}} $CONTAINER_ID要么
docker inspect -f "{{.State.Running}}" $CONTAINER_ID将返回
true或
false。
请注意,您可能想要
sleep 1(或更多)在启动容器和检查容器是否可用之间。如果您的设置有问题,则可能在实际退出之前的很短时间内显示为“正在运行”。



