docker 包含多种日志记录机制,可以帮助我们从正在运行的容器和服务中获取信息.这些机器成为日志驱动.每个 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 logs
命令只能显示json-file
和journald
的日志
这个标签和环境变量会在日志的开头展现出来,我们可以通过这个来区分是那个容器产生的日志