【问题标题】:Why I receive permission denied in Docker deployment?为什么我在 Docker 部署中收到权限被拒绝?
【发布时间】:2014-11-07 09:36:47
【问题描述】:

我在Elastic Beanstalk 中创建了一个应用程序,以使用this 项目中的说明在其中托管一个播放框架2 应用程序。

我已经完全按照 Docker 的需要打包了项目,但是当我将最终的 zip 上传到应用程序时,我在此流程中收到权限被拒绝错误:

  • 环境更新开始。
  • 将新版本部署到实例。
  • 成功拉取 dockerfile/java:latest
  • 已成功构建 aws_beanstalk/staging-app
  • Docker 容器在启动后意外退出:Docker 容器于 2014 年 9 月 12 日星期五 23:32:44 UTC 意外退出:2014/09/12 23:32:39 执行:“bin/my-sample-project” : 没有权限。查看快照日志了解详情。

我在这上面花了几个小时没有成功。

这是我的根 Dockerfile 的内容:

FROM dockerfile/java
MAINTAINER Cristi Boariu <myemail>
EXPOSE 9000
ADD files /
WORKDIR /opt/docker
RUN ["chown", "-R", "daemon", "."]
USER daemon
ENTRYPOINT ["bin/mytweetalerts"]
CMD []

任何提示如何解决这个问题?

【问题讨论】:

  • 确保您的脚本是可执行的。添加RUN ["chmod", "+x", "bin/mytweetalerts"]
  • 还要检查它是否为正确的平台编译 - 如果这是一个二进制文件(不是脚本)

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


【解决方案1】:

这是我为解决同样问题所做的,但我不确定是哪一部分专门解决了它。

我的 DockerFile 看起来像:

FROM dockerfile/java
MAINTAINER yourNameHere
EXPOSE 9000 9443
ADD files /
WORKDIR /opt/docker
RUN ["chown", "-R", "daemon", "."]
# Make sure myApp is excutable
RUN ["chmod", "+x", "bin/myApp"]
USER daemon
# If running a t1.micro or other memory limited instance
# be sure to limit play memory. This assumes play 2.3.x
ENTRYPOINT ["bin/myApp", "-mem", "512", "-J-server"]
CMD []

有关设置 jvm 内存的信息,请参阅 https://www.playframework.com/documentation/2.3.x/ProductionConfiguration

我的 Dockerrun.aws.json(也是必需的)看起来像:

{
  "AWSEBDockerrunVersion": "1",
  "Ports": [
    {
      "ContainerPort": "9000"
    }
  ]
}

最后,我的游戏应用程序位于files/opt/docker,运行脚本位于docker/bin。所有这些都被压缩并发送到 EB。

【讨论】:

    【解决方案2】:

    添加 chmod 命令以使您的文件可执行:

    RUN ["chmod", "+x", "bin/myApp"]
    

    所以你的 Dockerfile 将是:

    FROM dockerfile/java
    MAINTAINER Cristi Boariu <myemail>
    EXPOSE 9000
    ADD files /
    WORKDIR /opt/docker
    RUN ["chown", "-R", "daemon", "."]
    USER daemon
    RUN ["chmod", "+x", "bin/myApp"]
    
    ENTRYPOINT ["bin/mytweetalerts"]
    CMD []
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多