原标题:云计算核心技术Docker教程:Docker使用Amazon CloudWatch Logs 日志记录驱动程序
该awslogs日志驱动程序发送docker日志 亚马逊CloudWatch的日志。可以通过AWS 管理控制台或AWS 开发工具包和命令行工具检索日志条目。
用法
要将awslogs驱动程序用作默认日志记录驱动程序,请将log-driver 和log-opt键设置为daemon.json文件中的适当值,该文件位于/etc/docker/Linux 主机或 C:\ProgramData\docker\config\daemon.jsonWindows 服务器上。有关使用 配置 Docker 的更多信息daemon.json,请参阅 daemon.json。以下示例将日志驱动程序awslogs设置为并设置 awslogs-region选项。
{
"log-driver": "awslogs",
"log-opts": {
"awslogs-region": "us-east-1"
}
}
重新启动 Docker 以使更改生效。
您可以使用以下--log-driver选项为特定容器设置日志记录驱动程序 docker run:
$ docker run --log-driver=awslogs ...
如果您使用 Docker Compose,请awslogs使用以下声明示例进行设置:
myservice:
logging:
driver: awslogs
options:
awslogs-region: us-east-1
Amazon CloudWatch 日志选项
您可以向 中添加日志记录选项以daemon.json设置 Docker 范围的默认值,或--log-opt NAME=VALUE在启动容器时使用该标志指定 Amazon CloudWatch Logs 日志记录驱动程序选项。
awslogs 区域
该awslogs日志驱动程序发送您的码头工人日志的特定区域。使用awslogs-region日志选项或AWS_REGION环境变量来设置区域。默认情况下,如果您的 Docker 守护程序在 EC2 实例上运行并且未设置区域,则驱动程序使用实例的区域。
$ docker run --log-driver=awslogs --log-opt awslogs-region=us-east-1 ...
awslogs 端点
默认情况下,Docker 使用awslogs-region日志选项或检测到的区域来构建远程 CloudWatch Logs API 终端节点。使用awslogs-endpointlog 选项用提供的端点覆盖默认端点。
awslogs-group
您必须 为日志驱动程序指定一个 日志组awslogs。您可以使用awslogs-grouplog 选项指定日志组 :
$ docker run --log-driver=awslogs --log-opt awslogs-region=us-east-1 --log-opt awslogs-group=myLogGroup ...
awslogs-stream
要配置 应该使用哪个 日志流,您可以指定awslogs-stream日志选项。如果未指定,则使用容器 ID 作为日志流。
awslogs-create-group
如果日志组不存在,日志驱动程序默认返回错误。但是,您可以根据awslogs-create-group需要true将设置 为自动创建日志组。该awslogs-create-group选项默认为false。
$ docker run \
--log-driver=awslogs \
--log-opt awslogs-region=us-east-1 \
--log-opt awslogs-group=myLogGroup \
--log-opt awslogs-create-group=true \
...