在AWS ECS集群中显示Docker容器日志

时间:2019-01-14 11:46:19

标签: amazon-web-services docker amazon-ec2 amazon-ecs

我无法在ecs中显示来自我的docker容器的日志。

  

我做了什么:
  1)ssh进入集群的ec2实例。
  2)docker记录我的服务

然后显示此消息:

FATA[0000] Error executing 'logs': Failed to get log configuration: Container 'my-container': Must specify log driver as awslogs 

我要做的是在控制台中显示日志。
我不明白的是,对于某些容器,泊坞窗日志命令可以正常工作。

2 个答案:

答案 0 :(得分:0)

/etc/docker/daemon.json中打开docker daemon文件并添加日志驱动程序:

  {
     "log-driver": "awslogs"
  }

并使用sudo systemctl restart docker

重新启动docker

答案 1 :(得分:0)

在ECS中创建任务定义修订时,应选择json-log的docker日志驱动程序,如果要使用docker logs container-id命令查看docker日志。您将从docker ps命令获取容器ID。

但是,如果要将docker日志推送到cloudwatch日志,则必须选择aws-logs作为docker日志驱动程序。

对于某些容器,它可能工作正常,因为这些容器在其任务定义中将docker log driver作为json文件设置。

如何创建任务定义? 参考:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html

如果您仍然遇到问题,请告诉我。