如何使用awslog驱动程序从docker容器中获取日志?

时间:2016-08-08 18:49:26

标签: amazon-web-services docker amazon-ec2

我有一个在EC2中运行的docker容器。容器中的日志写在/ var / log中。如何使用awslog驱动程序从容器中获取这些日志并存储它?

1 个答案:

答案 0 :(得分:2)

对我来说很好。

  1. 使用以下策略在AWS控制台中创建IAM用户:
  2.    "Version" "2012-10-17" 
        "Statement" 
            "Action" 
                "logs:CreateLogStream" 
                "logs:PutLogEvents" 
                "Effect" "Allow" 
                "Resource"
    
    1. 将AWS凭据添加到docker主机系统,添加“aws-credentials.conf”
    2. mkdir -p /etc/systemd/system/docker.service.d/
      touch /etc/systemd/system/docker.service.d/aws-credentials.conf
      
      1. 插入aws-credentials.conf
      2.  [Service]
            Environment"AWS_ACCESS_KEY_ID=<aws_access_key_id>" 
            Environment"AWS_SECRET_ACCESS_KEY=<aws_secret_access_key>"
        
        1. 重新启动docker Host并创建Cloudwatch Logstream

        2. 将此添加到您的docker-compose(v2)以开始记录

          logging 
               driver "awslogs" 
               options 
                  awslogs-region "eu-west-1" 
                  awslogs-group "my-group" 
                  awslogs-stream "my-stream"
          
        3. 在Ubuntu 15.10上测试