加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:51:54 所属栏目:安全 来源:网络整理
导读:我正在运行一个具有多个环境的elasticbeanstalk应用程序.此特定应用程序托管托管网络服务的docker容器. 要将新版本的应用程序上传并部署到其中一个环境,我可以浏览Web客户端并单击“Upload and Deploy”,然后从文件选项中选择我最新的Dockerrun.aws.json文件

我正在运行一个具有多个环境的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产生的输出混乱和我的误解.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读