清理 Docker 日志
一、概述
Docker 在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加。
Docker 的日志文件存在 /var/lib/docker/containers 目录中
二、处理方案
2.1 使用脚本清理日志(治标)
clean_docker_logs.sh
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash echo "==================== start clean docker containers logs ==========================" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs : $log" cat /dev/null > $log done echo "==================== end clean docker containers logs ==========================" |
2.2 设置Docker容器日志大小(治本)
修改docker-compose.yml
示例:
1 2 3 4 5 6 7 8 | gateway-services:
container_name: gateway-services
image: adoptopenjdk/openjdk8
restart: always
logging:
driver: "json-file"
options:
max-size: "50m" |
max-size=50m,意味着一个容器日志大小上限是50M
重启docker
docker-compose –compatibility up -d

