【问题标题】:Dockerfile Script for Amazon AWS用于 Amazon AWS 的 Dockerfile 脚本
【发布时间】:2014-12-28 05:22:59
【问题描述】:

我想在 Amazon 的 Elastic Beanstalk 上启动我的 Web 应用程序(Play 2.2 应用程序)。 Play 应用程序是一个独立的 myApp.zip 存档。

我的 Docker-Archive 包含:
-myApp.zip(包含 myApp.zip/myApp-1.0-SNAPSHOT/bin/myApp 下的启动文件)
-Dockerfile 包含以下脚本:

来自 dockerfile/java
添加 myApp-1.0-SNAPSHOT.zip /usr/local/myApp
WORKDIR /usr/local/myApp
运行 myApp-1.0-SNAPSHOT/bin/myApp
暴露 9000

我收到以下错误:

无法构建 Docker 映像 aws_beanstalk/staging-app: fabd24 正在删除中间容器 f653f7395124 第 3 步:运行 myApp-1.0-SNAPSHOT/bin/myApp ---> 在 b9e18d52cc99 2014/10/31 10:51:52 中运行不能mkdir: /usr/local/myApp 不是目录。查看快照日志了解详情。

似乎第二行 (ADD ...) 没有任何效果。当我通过 SSH 连接到节点时,我也找不到 /usr/local/myApp 目录。怎么了?

【问题讨论】:

  • 这可能是一个愚蠢的建议,但在 ADD 的文档中,他们使用带有斜杠作为目标目录的示例。 /usr/local/myApp/ 会起作用吗?

标签: amazon-web-services amazon-ec2 playframework playframework-2.0 docker


【解决方案1】:

您正在添加一个 zip 文件并将其视为一个目录。你需要先解压。

ADD myApp.zip /usr/local/myApp.zip
WORKDIR /usr/local
RUN unzip /usr/local/myApp.zip

【讨论】:

  • 我将文件更改为 FROM dockerfile/java RUN mkdir /usr/local/myApp ADD myApp-1.0-SNAPSHOT.zip /usr/local/myApp/myApp-1.0-SNAPSHOT.zip WORKDIR /usr /local/myApp RUN 解压 /usr/local/myApp.zip EXPOSE 9000 ;但我什至看不到 /usr/local/myApp 目录:((
  • WORKDIR /usr/local.还没有 myApp 目录:)
  • 为什么?第二行是 RUN mkdir /usr/local/myApp 。没看懂
  • 哦,我的错。你需要 RUN unzip /usr/local/myApp/myApp-1.0.SNAPSHOT.zipp
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多