繁体   English   中英

AWS CloudWatch 日志流为空,而 Docker 容器日志已满

[英]AWS CloudWatch log stream is empty while Docker container logs are full

我正在创建基于 ubuntu 图像的 cron docker 图像。 我会使用教程,但 cron 不会有 PID 1,没有 2,甚至没有 10。我找到了一个在前台运行 cron 的解决方案,使用 healthcheck 检查它并使用tail -f查看命令日志在本地一切都很完美,但是当我将它部署到 ECS Fargate 时,日志是空的

主要问题

docker logs -f cron显示输出,但是cloudwatch中的日志是空的

附加信息

我使用以下 ENTRYPOINT 和 CMD 创建了 Dockerfile

COPY crontab /etc/crontab
COPY script.sh /root/script.sh
ENTRYPOINT ["tini", "--", "/usr/bin/docker-entrypoint.sh"]
CMD prepare.sh tail -f /var/log/script.log 

prepare.sh内容:

# some preparation commands...
cron -L 15
exec "$@"

docker-entrypoint.sh还有exec "$@"

crontab内容:

*/3 *  * * * root /root/script.sh >> /var/log/script.log

所以,最后一个命令是tail -f /var/log/script.log

为了让您的容器日志显示在 CloudWatch 日志中,您需要设置您的任务定义以使用awslogs日志驱动程序。

可以在此处找到有关如何执行此操作的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM