相关疑难解决方法(0)

Elastic Beanstalk单容器Docker - 使用awslogs日志记录驱动程序

我正在使用其单容器Docker配置在Elastic Beanstalk上运行单个Docker容器,并尝试使用awslogs日志记录驱动程序将应用程序stdout发送到CloudWatch .

EB查找该容器的配置的Dockerrun.aws.json文件,但据我可以看到没有使用awslogs作为容器的日志驱动器(或添加任何其他标志的一个选项,docker run命令为此事).

我已经尝试docker run使用此处提供的答案黑客入侵,通过添加.ebextensions/01-commands.config包含内容的文件:

commands:
  add_awslogs:
    command: 'sudo sed -i "s/docker run -d/docker run --log-driver=awslogs --log-opt awslogs-region=eu-west-2 --log-opt awslogs-group=dockerContainerLogs -d/" /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh'
Run Code Online (Sandbox Code Playgroud)

从某种意义上说,它可以修改运行脚本,并且日志会显示在CloudWatch中.

但EB应用程序终止了.容器已启动,但不响应请求.

我在容器日志中发现以下错误:

"logs"命令仅支持"json-file"和"journald"日志记录驱动程序(got:awslogs)

我找到了与ECS(不是EB)相关的类似问题的答案,建议使用awslog附加ECS_AVAILABLE_LOGGING_DRIVERS.但我没有在EB中找到此配置设置.

有什么想法吗?

logging amazon-web-services docker amazon-elastic-beanstalk

17
推荐指数
2
解决办法
3627
查看次数