centos系统清理docker日志文件
在CentOS系统中,Docker日志文件的不断增长可能会占用大量磁盘空间,影响系统性能和正常运行。为了保持系统的健康状态,需要定期清理Docker日志文件。本文将详细介绍如何在CentOS系统上清理Docker日志文件的具体步骤和方法。
Docker日志文件位置
Docker容器的日志文件通常存储在以下位置:
每个容器的日志文件通常命名为 <container_id>-json.log。
检查日志文件大小
在清理之前,首先检查Docker日志文件的大小,以确定哪些日志文件需要清理。
这条命令将显示每个容器日志文件的大小。
清理日志文件的方法
方法一:手动清理日志文件
-
停止容器:
停止需要清理日志文件的容器。 -
清空日志文件:
清空日志文件的内容。 -
重启容器:
重启容器。
方法二:使用日志轮替(logrotate)
使用 logrotate工具可以自动化管理日志文件的清理和归档。
-
安装logrotate:
如果系统中未安装logrotate,可以使用以下命令安装。 -
配置logrotate:
创建Docker日志的logrotate配置文件,如/etc/logrotate.d/docker-container-logs。添加以下内容:
配置解释:
rotate 7:保留7个旧的日志文件。daily:每天轮替一次日志文件。compress:压缩旧的日志文件。missingok:如果日志文件缺失,不报错。notifempty:如果日志文件为空,不轮替。copytruncate:在截断原始日志文件之前,将其复制到新文件。
-
测试配置:
手动测试logrotate配置,确保配置正确。
方法三:调整Docker日志驱动和配置
Docker默认使用 json-file日志驱动。可以调整日志驱动和配置,限制日志文件的大小和数量。
-
编辑Docker配置文件:
编辑Docker守护进程配置文件/etc/docker/daemon.json,添加或修改如下配置:配置解释:
"max-size": "10m":每个日志文件的最大大小为10MB。"max-file": "3":最多保留3个日志文件。
-
重启Docker服务:
保存配置文件并重启Docker服务。
自动化脚本清理
可以编写脚本定期清理日志文件,使用 crontab定时执行。
-
创建清理脚本:
创建脚本文件/usr/local/bin/clean_docker_logs.sh。添加以下内容:
-
赋予执行权限:
-
配置crontab:
使用crontab配置定时任务,每天执行清理脚本。添加以下内容:

浙公网安备 33010602011771号