非常教程

Docker 17参考手册

引擎: 管理员指南 | Engine: Admin Guide

流利的日志驱动程序(引擎) | Fluentd logging driver (Engine)

fluentd日志记录驱动程序发送容器日志到 Fluentd 集电极结构化日志数据。然后,用户可以使用 Fluentd 的各种输出插件将这些日志写入各个目标。

除了日志消息本身之外,fluentd日志驱动程序还会在结构化日志消息中发送以下元数据:

领域(范畴)

描述

container_id

完整的64个字符的容器 ID。

container_name

容器名称在启动时。如果使用 docker rename 重命名容器,则新名称不会反映在日记帐分录中。

source

stdout 或 stderr

docker logs命令不适用于此日志记录驱动程序。

用法

通过根据需要指定--log-opt多次来支持一些选项:

  • fluentd-address:指定一个套接字地址来连接到 Fluentd 守护进程,ex fluentdhost:24224unix:///path/to/fluentd.sock
  • tag:指定 fluentd 消息的标签,其解释一些标记,ex{{.ID}}{{.FullID}}{{.Name}} docker.{{.ID}}

要将fluentd驱动程序用作默认日志记录驱动程序,请将该键log-driverlog-opt键设置daemon.json为位于/etc/docker/Linux 主机或C:\ProgramData\docker\config\daemon.jsonWindows Server 上的文件中的适当值。有关+使用 Docker 配置的更多信息daemon.json,请参阅+ daemon.json。

以下示例将日志驱动程序设置为fluentd并设置fluentd-address选项。

 {
   "log-driver": "fluentd",
   "log-opts": {
     "fluentd-address": "fluentdhost:24224"
   }
 }

重新启动 Docker 以使更改生效。

要为特定容器设置日志记录驱动程序,请将--log-driver选项传递给docker run

docker run --log-driver=fluentd ...

在使用此日志记录驱动程序之前,请启动 Fluentd 守护进程。日志记录驱动程序localhost:24224默认连接到此守护程序。使用该fluentd-address选项连接到不同的地址。

docker run --log-driver=fluentd --log-opt fluentd-address=fluentdhost:24224

如果容器无法连接到 Fluentd 守护进程,则容器将立即停止,除非使用该fluentd-async-connect选项。

选项

用户可以使用该--log-opt NAME=VALUE标志来指定其他 Fluentd 日志记录驱动程序选项。

fluentd 地址

默认情况下,日志记录驱动程序连接到localhost:24224。提供fluentd-address连接到不同地址的选项。支持tcp(默认)和unix套接字。

docker run --log-driver=fluentd --log-opt fluentd-address=fluentdhost:24224
docker run --log-driver=fluentd --log-opt fluentd-address=tcp://fluentdhost:24224
docker run --log-driver=fluentd --log-opt fluentd-address=unix:///path/to/fluentd.sock

以上两项指定了相同的地址,因为它tcp是默认的。

标签

默认情况下,Docker 使用容器 ID 的前12个字符来标记日志消息。请参阅日志标记选项文档以定制日志标记格式。

标签,env 和 env-regex

labelsenv选项各取一个逗号分隔的密钥列表。如果labelenv键之间存在冲突,env则优先。这两个选项都将附加字段添加到日志消息的额外属性中。

env-regex选项类似于并兼容env。它的值是一个正则表达式来匹配与日志相关的环境变量。它用于高级日志标记选项。

fluentd-异步连接

Docker 在后台连接到 Fluentd。消息被缓存直到连接建立。

fluentd - 缓冲 - 限制

刷新到磁盘之前要缓冲的数据量。默认为容器可用的 RAM 数量。

fluentd - 重试 - 等待

重试之间需要等待多长时间。默认为1秒。

fluentd-MAX-重试

最大重试次数。默认为10。

使用 Docker 的 Fluentd 守护进程管理

关于Fluentd本身,看到 项目的网页 和 其文件。

要使用此日志记录驱动程序,请在主机上启动fluentd守护程序。我们建议您使用Fluentd泊坞窗图像。如果要在每台主机上聚合多个容器日志,则此图像特别有用,然后将日志传输到另一个 Fluentd 节点以创建聚合存储。

测试容器记录器

1. 写一个配置文件(test.conf)来转储输入日志:<type> @type forward </ source> <match \ *> @type stdout </ match>

2. 使用此配置文件启动 Fluentd 容器:

$ docker run -it -p 24224:24224 -v /path/to/conf/test.conf:/fluentd/etc/test.conf -e FLUENTD_CONF = test.conf fluent / fluentd:latest

3. 使用fluentd日志记录驱动程序启动一个或多个容器:

$ docker run --log-driver=fluentd your/application

Fluentd, docker, logging, driver

引擎: 管理员指南 | Engine: Admin Guide相关

1.Amazon CloudWatch记录日志记录驱动程序(引擎) | Amazon CloudWatch logs logging driver (Engine)
2. 绑定挂载 | Bind mounts (Engine)
3.使用Prometheus(引擎)收集Docker指标 | Collect Docker metrics with Prometheus (Engine)
4.配置和运行Docker(引擎) | Configuring and running Docker (Engine)
5.配置日志记录驱动程序 | Configuring logging drivers (Engine)
6.使用systemd控制和配置Docker(引擎) | Control and configure Docker with systemd (Engine)
7.ETW日志记录驱动程序(引擎) | ETW logging driver (Engine)
8.格式化命令和日志输出(引擎) | Format command and log output (Engine)
9.Google Cloud日志记录驱动程序(引擎) | Google Cloud logging driver (Engine)
10.Graylog扩展格式(GELF)日志记录驱动程序(引擎) | Graylog Extended Format (GELF) logging driver (Engine)
11.Journald日志记录驱动程序(引擎) | Journald logging driver (Engine)
12.JSON文件日志记录驱动程序(引擎) | JSON File logging driver (Engine)
13.在守护进程停机期间保持容器处于活动状态(引擎) | Keep containers alive during daemon downtime (Engine)
14.限制容器的资源(引擎) | Limit a container's resources (Engine)
15.通过大使容器链接(引擎) | Link via an ambassador container (Engine)
16.记录驱动程序的日志标记(引擎) | Log tags for logging driver (Engine)
17.Logentries日志驱动程序(引擎) | Logentries logging driver (Engine)
18.PowerShell DSC用法(引擎) | PowerShell DSC usage (Engine)
19.修剪未使用的Docker对象(引擎) | Prune unused Docker objects (Engine)
20.在容器中运行多个服务(引擎) | Run multiple services in a container (Engine)
21.运行时指标(引擎) | Runtime metrics (Engine)
22.Splunk日志记录驱动程序(引擎) | Splunk logging driver (Engine)
23.自动启动容器(引擎) | Start containers automatically (Engine)
24.存储概述(引擎) | Storage overview (Engine)
25.Syslog日志记录驱动程序(引擎) | Syslog logging driver (Engine)
26.tmpfs mounts
27.解决卷问题(引擎) | Troubleshoot volume problems (Engine)
28.使用日志驱动程序插件(引擎) | Use a logging driver plugin (Engine)
29.使用Ansible(引擎) | Using Ansible (Engine)
30.使用Chef(引擎) | Using Chef (Engine)
31.使用Puppet(引擎) | Using Puppet (Engine)
32.查看容器的日志(引擎) | View a container's logs (Engine)
33.Volumes (Engine)
Docker 17

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

主页 https://docker.com/
源码 https://github.com/docker/docker
版本 17
发布版本 17.06