我有一个非常基本的Dockerfile,就像这样;
FROM williamyeh/java8:latest
EXPOSE 80
CMD ["java"]
它基于William Yeh的超薄Java8映像,我想要运行其他一些Java应用程序。
如果我在我的CentOS盒子上构建并执行它,它可以正常运行并且没有问题。
如果我将其作为包含Dockerfile的zip的一部分上传到AWS Elastic Beanstalk,它就不会。现在;直到最近,我的Dockerfile自己拉出了所有需要的Java东西(并且是一个来自Ubuntu的图像)并且 在EB上工作,唯一的区别是我把它改成了来自不同的图像,正如我所说,在我的CentOS盒子上工作。
来自AWS的错误日志显示了这一点,这对我没什么帮助;
:[{"status":"FAILURE","msg":"
[CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/03build.sh] command failed with error code 1:
/opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh\ncat:
Dockerrun.aws.json: No such file or directory\ncat: Dockerrun.aws.json:
No such file or directory\ncat: Dockerrun.aws.json: No such file or
directory\nPulling repository williamyeh/java8\nStatus: Image is up to date
for williamyeh/java8:latest\nSuccessfully pulled
williamyeh/java8:latest\nSending build context to Docker daemon 557.1
kB\rSending build context to Docker daemon 1.114
MB\rSe","returncode":1,"events":[{"msg":"Failed to build Docker image...etc
请注意,我没有使用Dockerfile.aws.json,之前我也没有使用它。
所以我只能假设FROM在某种情况下在这种情况下不起作用但是......为什么?文档非常稀少; Troubleshooting EB
欢迎任何提示和建议
答案 0 :(得分:0)
好吧,这很微妙......我在问题中没有提到的一件事是内联评论;
FROM williamyeh/java8 # comment...
这不会导致我的CentOS基础系统出现问题,但它会绊倒AWS部署。学过的知识;来自AWS部署日志的错误消息并不总是完全......清楚......