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

前端之家收集整理的这篇文章主要介绍了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产生的输出混乱和我的误解.

猜你在找的Docker相关文章