docker和elastic beanstalk容器意外停止,权限被拒绝
我试图扩展这个Docker镜像 ,这个镜像至less在Docker Hub上是成功的,并且这个镜像的一部分包含一个叫做play的用户,它拥有一个名为/ home / play / Code的目录,拥有755个权限。 我在mac上使用boot2docker
这是我的泊坞窗文件在本地
FROM ir1sh/dockeractivator MAINTAINER Mark Moore EXPOSE 9000
build立好,当我跑
docker run --rm -it -v "/my/local/dir:/home/play/Code" -p 9000:9000 300b01a6199c
容器启动正确,我得到一个开始于/ home / play / Code的用户root的会话。 如果我添加了-u玩commade,我得到一个与玩家的会话,而不是在同一个目录。
现在,如果我用它们的cli工具将该容器推送到弹性beanstalk,我得到以下错误
输出:[CMD-AppDeploy / AppDeployStage0 / AppDeployPreHook / 04run.sh]命令失败,错误代码为1:/opt/elasticbeanstalk/hooks/appdeploy/pre/04run.sh b07ae15d619ad90441f6f410a31a7d51885151c92cd8675c5d8e47f63b43dd95启动后Docker容器意外退出:Docker容器在Sun上意外退出12月21日13:36:06 UTC 2014: 检查快照日志的详细信息..
日志不是很有启发性
现在根据另一个build议,我没有在我的docker文件中的CMD或ENTRYPOINT,所以我添加这些。
FROM ir1sh/dockeractivator MAINTAINER Mark Moore EXPOSE 9000 ENTRYPOINT ["/home/play/Code", "-DFOREGROUND"] CMD []
图像生成,但现在当我尝试docker运行与上述相同的选项我得到
exec:“/ home / play / Code”:permission denied2014 / 12/21 13:34:33守护进程错误响应:无法启动容器2703462a68a32e8d774e9b4d8cbc3c809e79f53bb1d08f0398b45436d07546a3:exec:“/ home / play / Code”:权限被拒绝
无论我尝试以root用户身份还是以play身份启动会话都会发生这种情况。 我得到同样的错误,如果我推这个dockerfile到弹性beanstalk,所以它不涉及到boot2docker任何想法是什么我的权限问题在这里? 我试图改变目录权限777无济于事
编辑1:作为特权运行也没有帮助
编辑2:更改dockerfile
FROM ir1sh/dockeractivator MAINTAINER Mark Moore EXPOSE 9000 CMD ["bash"]
允许我在本地运行容器,但在popupbeanstalk后,我得到容器再次意外地退出错误
尝试运行时没有 – 当你在本地运行时,这适当地复制了在弹性beanstalk上运行的场景,因为beanstalk将不会以交互模式运行容器。 某些进程不能很好地处理非交互式shell。 当你使用bash作为你的CMD时,情况确实如此。 在非交互模式下,bash shell将立即退出。
我也认为你还不清楚什么是入口点和CMD,我看到/home/play/Code
是一个目录,总是需要一个可执行文件中的第一个string。
例如,如果您有入口点[“A”,“B”]和CMD [“C”,“D”],则相当于在terminalABCD
上发出以下命令。 一个更好的例子是:
ENTRYPOINT ["ls","-a","-l"] CMD ["/var/log"] # This maps too ls -a -l /var/log
有两个选项ENTRYPOINT的原因不能在运行时被CMD覆盖。 即我可以docker运行以下更改目录,LS的命令将列出,但我不能改变这个容器将运行一个LS命令的事实
docker run -it myContainer /tmp
- Nginx,AWS,EB,Docker,TCP Socketconfiguration400个不好的请求
- 通过CLI部署命令与Dockerrun.aws.json部署到elasticbeanstalk
- 如何将AWS中的Docker容器连接到RDS
- 在AWS ELB上运行连接到主机节点应用程序的Docker容器
- Python中的AWS Elastic Beanstalk container_commands 3.4 Docker容器
- 你如何在一个部署为弹性beanstalk工作的docker集装箱共享特权信息?
- Nginx在ElasticBeanstalk上的Docker:没有这样的文件或目录
- 为什么Docker构build命令在Elastic Beanstalk中运行速度如此之慢?
- howto:弹性beanstalk +部署docker +优雅关机