关于亚马逊网络服务:在关闭前将 docker 日志从 ec2 实例上传到 S3

Uploading docker logs from ec2 instance to S3 before shutdown

目前在 AWS 上使用 Auto Scaling Group (ASG),有时在 EC2 实例中运行的 docker 容器由于某些不明确的原因退出,并且该实例可能会从 ASG 中删除。这使得调试故障变得困难,因为 ASG 终止了实例并因此删除了所有出错的证据。
那么,有没有办法在退出之前将 docker 日志写入 S3。


如果需要,您可以将日志发送到 cloudwatch 并导出到 s3。

以下是流程,

将您的凭据添加到,

1
/etc/init/docker.override

同,

1
2
env AWS_ACCESS_KEY_ID=
env AWS_SECRET_ACCESS_KEY=

并重启你的docker服务。

docker run -it --log-driver="awslogs" --log-opt
awslogs-region="us-east-1" --log-opt awslogs-group="log-group"
--log-opt awslogs-stream="log-stream" ubuntu:14.04 bash

这样docker将所有日志发送到cloudwatch。

希望能帮到你[s.