Amazon web services docker终止并捕获日志或缓冲区

Amazon web services docker终止并捕获日志或缓冲区,amazon-web-services,docker,amazon-elastic-beanstalk,Amazon Web Services,Docker,Amazon Elastic Beanstalk,因此,elasticbeanstalk在更新或更改docker部署的映像时将使用docker kill,以终止正在运行的docker容器,以便能够将其切换到将要装载的新容器 我希望能够从该容器捕获日志信息,但该容器发送了一个SIGKILL,因此我无法直接正常关闭容器。我可以破解EB暂存和部署脚本,使用docker stop而不是docker kill,但我不明白为什么EB不给我机会在关闭应用程序之前先清理它 我知道这是一个漫长的过程,但是否有任何方式我可以钩住它,以便能够在不断将其推出机器之外捕

因此,elasticbeanstalk在更新或更改docker部署的映像时将使用
docker kill
,以终止正在运行的docker容器,以便能够将其切换到将要装载的新容器

我希望能够从该容器捕获日志信息,但该容器发送了一个
SIGKILL
,因此我无法直接正常关闭容器。我可以破解EB暂存和部署脚本,使用
docker stop
而不是
docker kill
,但我不明白为什么EB不给我机会在关闭应用程序之前先清理它


我知道这是一个漫长的过程,但是否有任何方式我可以钩住它,以便能够在不断将其推出机器之外捕获此日志输出?我真的不想弄乱amazon的部署脚本,但这似乎是获得此功能的唯一方法。有人对此有任何见解吗?

您已经看过cloudwatch日志了吗?为Elastic Beanstalk进行设置非常简单。我不知道你在问什么,如果应用程序因sigkill而关闭,就没有机会将日志推送到cloud watch。我可能忽略了这个问题——但cloudwatch日志代理将作为一个谨慎的服务运行,这样它就不会与docker容器一起消亡。这不是重点,docker容器被赋予了一个SIGKILL,它无法对任何事情做出反应。我知道--
docker stop
是您想要实现的--持久性日志捕获不是问题所在。看起来之前也发布过类似的问题,OP使用.ebextensions修改部署脚本: