如何使用 Django 从 fargate 获取错误日志,docker

how to get error logs from fargate using Django, docker

我使用 Nginx 将 django web 项目部署到使用 Jenkins 和 Docker 的 aws ECS fargate。问题是,CloudWatch 日志显示没有错误,但是当我尝试发送 ping 或调用 api 时,它显示 503 或 502。当响应为 500 时,CloudWatch 日志似乎不起作用。

我想到的唯一方法是使 docker 文件允许 ssh,并打开 fargate 的 22 端口和 ssh。但是,使用 ssh 进行生产和 docker 图像对我来说听起来很奇怪。

我想知道在哪里可以找到错误日志。

ssh 进入生产容器不是一个好主意,但如果你真的想这样做,你可以使用 SSM 会话管理器。

https://github.com/aws/containers-roadmap/issues/187#issuecomment-490347856

只有您的应用程序的 STDOUT/STDERR 会被发送到 CloudwatchLogs,所以我猜您可能有一些日志没有流式传输到 STDOUT/STDERR。

唯一最好的方法是启动 EC2 并使用相同的映像和命令启动该容器并进入内部检查您的日志文件。