显示 AWS ECS 集群中的 docker 容器日志



我在 ecs 中显示 docker 容器的日志时遇到问题。

我做了什么:
1) 通过 SSH 连接到集群的 EC2 实例。
2) 码头工人记录我的服务

然后显示此消息:

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

我正在尝试做的是在控制台中显示日志。
我不明白的是,对于某些容器,命令docker logs工作正常。

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

  {
     "log-driver": "awslogs"
  }

并使用 sudo systemctl restart docker 重新启动 docker

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

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

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

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

如果您仍然面临此问题,请告诉我。

最新更新