Docker 从图像创建容器时显示不一致的行为

Docker shows inconsistent behaviour when creating container from image

我正在开发一个依赖于 moodle 系统的 Web 应用程序,因为它使用了 moodle web 服务。对于我的自动化测试,我想使用 docker 在我所有的机器上提供一个预配置的 moodle-application。因此我创建了一个 docker 图像,我从 .tar.gz 文件中导入它。

但是,从这个图像创建一个新的容器实例的行为不一致。有时容器会正确启动并且一切正常。但是,有时容器启动但无法访问 moodle-website。如果我使用 docker exec -it <container> bash 将 bash 连接到容器,我会看到 apache 是 运行。错误日志未显示任何可能与此问题相关的条目。

如果我终止容器实例并再次启动它,一切都会按预期进行(有时必须重复此步骤多次)。你知道这种奇怪行为的原因是什么吗?有人遇到过类似的问题吗?

Docker 在 Ubuntu 14:04 上 运行。该问题出现在多台机器上。导入图像并启动容器的脚本如下所示:

#!/usr/bin/env bash
docker rm -f moodle
docker load < my-moodle.tar.gz
docker run -d -p 8080:80 -p 8443:443 -p 3306:3306 --name moodle moodle-image

提前致谢!

成功的容器启动取决于您的容器入口点和外部资源(如果入口点具有外部依赖项)。入口点是什么?是否依赖外部资源?