我在 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
如果您仍然面临此问题,请告诉我。