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

时间:2016-04-16 13:17:12

标签: unix testing docker virtualization lamp

我正在开发一个依赖于moodle系统的Web应用程序,因为它使用了moodles webservices。对于我的自动化测试,我想使用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

提前致谢!

1 个答案:

答案 0 :(得分:0)

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