Amazon web services 使用dockrun.aws.json通过CLI Deploy命令部署到elasticbeanstalk
我正在运行一个具有多个环境的elasticbeanstalk应用程序。这个特定的应用程序承载承载Web服务的docker容器 要将应用程序的新版本上载并部署到其中一个环境中,我可以浏览web客户端并单击“上载并部署”,然后从文件选项中选择最新的dockrun.aws.json文件,该文件引用私有托管容器的最新版本。上传和部署工作正常,没有问题 为了让我自己和其他人更容易部署,我希望能够使用CLI上传和部署dockrun.aws.json文件。如果我在没有任何特殊配置的情况下使用cliAmazon web services 使用dockrun.aws.json通过CLI Deploy命令部署到elasticbeanstalk,amazon-web-services,deployment,docker,amazon-elastic-beanstalk,Amazon Web Services,Deployment,Docker,Amazon Elastic Beanstalk,我正在运行一个具有多个环境的elasticbeanstalk应用程序。这个特定的应用程序承载承载Web服务的docker容器 要将应用程序的新版本上载并部署到其中一个环境中,我可以浏览web客户端并单击“上载并部署”,然后从文件选项中选择最新的dockrun.aws.json文件,该文件引用私有托管容器的最新版本。上传和部署工作正常,没有问题 为了让我自己和其他人更容易部署,我希望能够使用CLI上传和部署dockrun.aws.json文件。如果我在没有任何特殊配置的情况下使用clieb dep
eb deploy
命令,则压缩整个应用程序并将其发送到主机的正常过程会发生并失败(无法推断它只需要读取dockrun.aws.json文件)
我发现了一个关于使用.elasticbeanstalk/config.yml文件控制上传内容的文档小贴士
使用此语法:
部署:
工件:dockrun.aws.json
该文件已上载并实际成功部署到第一批实例,但始终无法部署到第二组实例
失败错误的风格是:“容器意外退出…”
任何人都可以解释或提供使用CLI部署单个docker容器应用程序的规范方法的链接吗?由于您要求提供链接,我提供了一个最初用于使用elasticbeanstalk CLI成功测试和部署docker的链接
请看这是否也对您有帮助:因此,我在config.yml中列出的方法是正确的。我看到部分成功部署的原因是,以前在主机上运行的docker容器没有被EB停止 我认为发生的事情是EB发送了类似的信息
sudo docker kill--signal=SIGTERM$CONTAINER\u ID
而不是更常见的sudo docker stop$CONTAINER\u ID
我正在运行的特定容器没有响应SIGTERM,因此它只能放在那里。当我用SIGKILL在本地测试它时,它(显然)会正确停止,但SIGTERM本身并不能阻止它
问题不是部署方法,而是EB产生的输出中的混乱和我的误解