容器运行后容器日志会一直存储,时间久后会出现日志文件过大,从而导致查询日志困难,容器日志一般会在docker持久化目录containers下对应不同镜像名称以 *-json.log形式
查询方式
1 2 3
| [root@zabbix ~]# docker inspect zbx-server | grep log "LogPath": "/docker-compose/docker/containers/5e29aeaa4c9bdd2e9122bd4e827696 c7faedb000c363b90cb16f0d443dedd0f9/5e29aeaa4c9bdd2e9122bd4e827696c7faedb000c363b90cb16f0d443dedd0f9-json.log",
|
服务的日志记录配置
| 参数 |
解释 |
| json-file |
日志存储格式为json, 默认的logdriver驱动 |
| syslog |
日志写入到指定的syslog地址 |
| local |
日志以自定义格式存储 |
| none |
丢弃容器输出 |
局部配置(yaml)
1 2 3 4 5 6 7 8 9
| version: "3.5" services: some-service: image: busybox logging: driver: "json-file" options: max-size: "100m" 日志限制大小100m max-file: "5" 保留5份
|
全局配置
1 2 3 4 5 6 7 8 9 10 11 12 13
| [root@zabbix ~]# vi /etc/docker/daemon.json { "registry-mirrors": ["https://qni50.mirror.aliyuncs.com"], "insecure-registries":["harbor.od.com:81","harbor.od.com"], "data-root":"/docker-compose/docker", "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "5"} } 同上限制大小100m,保留5份
重新启动 Docker 以使更改对新创建的容器生效。现有容器不使用新的日志记录配置 systemctl daemon-reload systemctl restart docker
|