【发布时间】:2015-02-19 19:11:57
【问题描述】:
我正在尝试扩展 this docker image,它至少在 docker hub 上成功构建,并至少在 docker hub 上成功构建,该图像的一部分包括一个名为 play 的用户,该用户拥有一个名为 /home/play/Code 的目录,该目录具有 755 个权限.我在 mac 上使用 boot2docker
这是我在本地的 docker 文件
FROM ir1sh/dockeractivator
MAINTAINER Mark Moore
EXPOSE 9000
构建正常,什么时候运行
docker run --rm -it -v "/my/local/dir:/home/play/Code" -p 9000:9000 300b01a6199c
容器正确启动,我在 /home/play/Code 中获得了与用户 root 的会话。如果我将 -u play 添加到该逗号,我会在同一目录中与 play 用户进行会话。
现在,如果我使用他们的 cli 工具将该容器推送到弹性 beanstalk,我会收到以下错误
输出:[CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/04run.sh] 命令失败,错误代码为 1: /opt/elasticbeanstalk/hooks/appdeploy/pre/04run.sh b07ae15d619ad90441f6f410a31a7d51885151c92cd8675c5d8e47f63b43dd95 Docker 容器在启动后意外退出:Docker container quit 出乎意料地在 2014 年 12 月 21 日星期日 13:36:06 UTC:.检查快照日志 详情..
日志不是很有启发性
现在根据另一个建议,我的 docker 文件中没有 CMD 或 ENTRYPOINT,所以我添加了这些。
FROM ir1sh/dockeractivator
MAINTAINER Mark Moore
EXPOSE 9000
ENTRYPOINT ["/home/play/Code", "-DFOREGROUND"]
CMD []
图像构建,但现在当我尝试使用与上面相同的选项运行 docker run 时,我得到了
exec: "/home/play/Code": 权限被拒绝2014/12/21 13:34:33 错误 来自守护进程的响应:无法启动容器 2703462a68a32e8d774e9b4d8cbc3c809e79f53bb1d08f0398b45436d07546a3: exec: "/home/play/Code": 权限被拒绝
无论我尝试以 root 身份还是 play 身份启动会话,都会发生这种情况。如果我将这个 dockerfile 推送到弹性 beanstalk,我会得到同样的错误,所以它与 boot2docker 无关知道我的权限问题是什么吗?我已尝试将该目录权限更改为 777 无济于事
edit1:以特权身份运行也无济于事
edit2:将 dockerfile 更改为
FROM ir1sh/dockeractivator
MAINTAINER Mark Moore
EXPOSE 9000
CMD ["bash"]
允许我在本地运行容器,但在推送到弹性豆茎后,容器再次意外退出错误
【问题讨论】:
标签: playframework-2.0 docker amazon-elastic-beanstalk