Cou*_*ell 9 deployment amazon-web-services docker amazon-elastic-beanstalk
我正在运行一个具有多个环境的elasticbeanstalk应用程序.此特定应用程序托管托管网络服务的docker容器.
要将新版本的应用程序上传并部署到其中一个环境,我可以浏览Web客户端并单击"Upload and Deploy",然后从文件选项中选择我最新的Dockerrun.aws.json文件,该文件引用了私有托管的最新版本容器.上传和部署工作正常,没有问题.
为了使我自己和其他人更容易部署,我希望能够使用CLI上传和部署Dockerrun.aws.json文件.如果我在eb deploy没有任何特殊配置的情况下使用cli 命令,则会将整个应用程序压缩并将其发送到主机的正常过程发生并失败(它无法推断出它只需要读取Dockerrun.aws.json文件).
我找到了一个关于使用.elasticbeanstalk/config.yml文件控制上传内容的文档.
使用以下语法:
deploy:
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 生成的输出的混乱以及我的误解。
| 归档时间: |
|
| 查看次数: |
2596 次 |
| 最近记录: |