我正在运行一个弹性豆柄应用程序,具有多个环境。这个特定的应用程序是托管承载webservice的docker容器。
要将应用程序的新版本上载并部署到其中一个环境中,我可以通过web客户机并单击"Upload and Deploy“,然后从文件选项中选择最新的Dockerrun.aws.json文件,该文件引用私有容器的最新版本。上传和部署工作正常,没有问题。
为了简化自己和其他人的部署,我希望能够使用CLI上传和部署Dockerrun.aws.json文件。如果我在没有任何特殊配置的情况下使用cli eb deploy命令,则会发生将整个应用程序拉链并将其发送到主机的正常过程,并且会失败(不能推断它只需要读取Dockerrun.aws.json文件)。
我找到了一个文档,它是关于如何使用.弹性豆柄/config.yml文件来控制上传内容的。
使用此语法:
deploy: artifact: Dockerrun.aws.json
该文件被上载并实际成功地部署到第一批实例,然后始终无法部署到第二组实例。
失败的错误是这样的:“容器意外退出.”
有人能解释或提供使用CLI部署单个坞容器应用程序的规范方法的链接吗?
发布于 2015-11-20 21:56:19
因此,我用config.yml列出的方法是正确的。我之所以看到部分成功的部署,是因为以前在主机上运行的docker容器没有被EB停止。
我认为发生的事情是EB发出了这样的信息
sudo docker kill --signal=SIGTERM $CONTAINER_ID而不是更常见的sudo docker stop $CONTAINER_ID
我运行的特定容器对SIGTERM没有响应,因此它只停留在那里。当我用SIGKILL在本地测试它时,它(显然)会正确地停止,但是只有SIGTERM不会阻止它。
问题不是部署方法,而是EB生成的输出和我的误解中的混乱。
发布于 2015-11-20 21:11:19
由于您已经要求一个链接,我提供了一个链接,我最初用来成功测试和部署码头使用弹性豆茎cli。
请看看这是否对你也有帮助:https://fangpenlin.com/posts/2014/11/25/running-docker-with-aws-elastic-beanstalk/
https://stackoverflow.com/questions/33833184
复制相似问题