我试图扩展this docker image,它至少在docker hub上成功提供并成功创建,该图像的一部分包含一个名为play的用户,该用户拥有一个名为/ home/play的目录/拥有755个权限的代码。我使用的是Macdocker和elastic beanstalk容器意外停止并且权限被拒绝
这boot2docker是本地我的搬运工文件
FROM ir1sh/dockeractivator
MAINTAINER Mark Moore
EXPOSE 9000
它建立确定,当我运行
docker run --rm -it -v "/my/local/dir:/home/play/Code" -p 9000:9000 300b01a6199c
容器正确启动和我得到root用户启动一个会话在/ home/play/Code中。如果我添加了-u play to commade,我将与玩家用户进行会话,而不是在同一个目录中。
现在,如果我把该容器弹性豆茎与他们的CLI工具,我得到以下错误
输出:CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/04run.sh] 命令,错误代码1失败: /opt/elasticbeanstalk/hooks/appdeploy/pre/04run.sh b07ae15d619ad90441f6f410a31a7d51885151c92cd8675c5d8e47f63b43dd95 泊坞容器推出后意外退出:泊坞容器退出 意外地在Sun 12月21日13时36分06秒UTC 2014 :.检查快照日志 细节..
日志是不是很有启发
现在每另一个建议,我没有一个CMD或入口点在我的搬运工文件,所以我想补充的。
FROM ir1sh/dockeractivator
MAINTAINER Mark Moore
EXPOSE 9000
ENTRYPOINT ["/home/play/Code", "-DFOREGROUND"]
CMD []
的形象建立,但现在当我尝试使用相同的选项泊坞窗如上运行的我得到
高管: “/家/播放/代码”:允许denied2014/12月21日13: 34:33错误从守护 响应:无法启动容器 2703462a68a32e8d774e9b4d8cbc3c809e79f53bb1d08f0398b45436d07546a3: EXEC: “/家/播放/代码”:权限被拒绝
这种情况wheth呃我尝试以root或play的方式开始会话。如果我将这个dockerfile推送到弹性beanstalk,所以它与boot2docker无关任何想法我的权限问题在这里?我试图改变该目录的权限为777无济于事
EDIT1:运行的特权也于事无补
EDIT2:改变dockerfile到
FROM ir1sh/dockeractivator
MAINTAINER Mark Moore
EXPOSE 9000
CMD ["bash"]
允许我在本地运行的容器,但推后弹性beanstalk我得到容器退出意外错误再次
这样的事实和尝试运行,它不会与会话进入容器,当我运行docker ps时,它显示没有正在运行的容器,因此听起来像您的怀疑是正确的。所以我不确定入口点和cmd的目的。基本上我只是想让这个容器启动,然后我想用其他方法来调配剩余的容器。我可以在本地手工踢人,并计划使用.ebextensions命令在elasticbeanstalk上做到这一点 – Ir1sh
是否有一个命令,我可以代替bash命令,只是没有做任何事情,让conatiner运行? – Ir1sh
码头日志[CONTAINER_NAME/ID]应该告诉您发生了什么事情的容器死亡。它在这种情况下可能不是很有用,因为通常不处理无头模式的进程也不会很好地记录。 tail -f/some/log/file会让容器继续运行,然后你可以使用docker exec -it bash来进入它 –