我想在亚马逊的Elastic Beanstalk上启动我的Web应用程序(Play 2.2 App)。 Play应用程序是一个独立的myApp.zip存档。
我的Docker-Archive包含:
-myApp.zip(包含myApp.zip/myApp-1.0-SNAPSHOT/bin/myApp下的起始文件)
-带有以下脚本的Dockerfile:
FROM dockerfile/java
ADD myApp-1.0-SNAPSHOT.zip /usr/local/myApp
WORKDIR /usr/local/myApp
RUN myApp-1.0-SNAPSHOT/bin/myApp
EXPOSE 9000
我收到以下错误:
Failed to build Docker image aws_beanstalk/staging-app: fabd24 Removing intermediate container f653f7395124 Step 3 : RUN myApp-1.0-SNAPSHOT/bin/myApp ---> Running in b9e18d52cc99 2014/10/31 10:51:52 Cannot mkdir: /usr/local/myApp is not a directory. Check snapshot logs for details.
似乎第二行(ADD ...)没有任何作用。通过SSH连接到节点时,也找不到/ usr / local / myApp目录。怎么了?
最佳答案
您正在添加一个zip文件,并将其视为目录。您需要先将其解压缩。
ADD myApp.zip /usr/local/myApp.zip
WORKDIR /usr/local
RUN unzip /usr/local/myApp.zip
关于amazon-web-services - 适用于Amazon AWS的Dockerfile脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682308/