微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

amazon-web-services – 使用Dockerrun.aws.json通过CLI部署命令部署到elasticbeanstalk

我正在运行一个具有多个环境的elasticbeanstalk应用程序.此特定应用程序托管托管网络服务的docker容器.

要将新版本的应用程序上传并部署到其中一个环境,我可以浏览Web客户端并单击“Upload and Deploy”,然后从文件选项中选择我最新的Dockerrun.aws.json文件,该文件引用了私有托管的最新版本容器.上传和部署工作正常,没有问题.

为了使我自己和其他人更容易部署,我希望能够使用CLI上传和部署Dockerrun.aws.json文件.如果我在没有任何特殊配置的情况下使用cli eb deploy命令,则会将整个应用程序压缩并将其发送到主机的正常过程发生并失败(它无法推断出它只需要读取Dockerrun.aws.json文件).

我找到了一个关于使用.elasticbeanstalk / config.yml文件控制上传内容的文档.

使用以下语法:

部署:
  artifact:Dockerrun.aws.json

文件已上载并实际成功部署到第一批实例,然后始终无法部署到第二组实例.

失败错误的风格是:’容器意外退出……’

任何人都可以解释或提供使用CLI部署单个docker容器应用程序的规范方法链接吗?

最佳答案
事实证明我使用config.yml列出的方法是正确的.我看到部分成功部署的原因是因为主机上先前运行的docker容器没有被EB停止.

我认为发生的事情是EB正在发送类似的东西

sudo docker kill –signal = SIGTERM $CONTAINER_ID而不是更常见的sudo docker stop $CONTAINER_ID

我运行的特定容器没有响应SIGTERM,所以它只会坐在那里.当我用SIGKILL在本地测试它时(显然)会正常停止,但SIGTERM本身并不能阻止它.

问题不在于部署方法,而在于EB产生的输出混乱和我的误解.

原文地址:https://www.jb51.cc/docker/436638.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐