说明

docker 包含多种日志记录机制,可以帮助我们从正在运行的容器和服务中获取信息.这些机器成为日志驱动.每个 docker daemon 都有一个默认的日志驱动,每个容器都默认使用的都是这个日志驱动,除非我们自己定义了其他的日志驱动.

为 docker daemon 配置默认的日志驱动

要将docker daemon 配置为默认的日志驱动程序,请使用--log-driver=<VALUE>选项.如果驱动程序有可配置的选项,则我们可以使用一个或多个--log-opt<NAME>=<VALUE>来进行设置.如果你没有指定日志驱动,那么默认的是json-file. 查看当前默认的日志驱动

[root@zsf ~]# docker info | grep -i "logging driver"
Logging Driver: json-file

配置默认的驱动:

vim /etc/docker/daemon.json
{
    "log-driver": "syslog"
}

设置默认的日志格式为 syslog 如果日志驱动有可配置的选项,我们可以改写成下面这样

vim /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",
    "labels": "production_status",
    "env": "os,customer"
  }
}

注意: log-pats 里面的内容必须以字符串的形式提供起来,因此当是数字和布尔值类型的时候我们要通过双引号括起来

查看当前容器配置的日志驱动

docker 所支持的日志驱动

Untitled Database

日志驱动的限制

docker logs 命令只能显示json-filejournald的日志

日志驱动label 和env的作用

这个标签和环境变量会在日志的开头展现出来,我们可以通过这个来区分是那个容器产生的日志

日志驱动详细介绍

none