docker 日志清理

首先确认 docker 使用的存储引擎

docker info

如果使用 Logging Driver: json-file, 那么日志默认在 /var/lib/docker/contains/xxxxx/xxxxx-json.log

#!/bin/sh 

logs=`find /var/lib/docker/containers/ -name *-json.log`  

for logfile in $logs  
do  
echo " "  > $logfile 
done  

然后放到crontable中。 修改 日志引擎位置
cat /etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opts": {"max-size": "10m", "max-file": "3"}
}
 

如果使用  Logging Driver:  journald 日志清理

查看  journal 占用空间

journalctl --disk-usage

设定系统journal最大16M


  只保留近一周的日志

  journalctl --vacuum-time=1d

只保留500MB的日志
journalctl --vacuum-size=500M 手动清空

vim /etc/systemd/journald.conf
SystemMaxUse=16M
ForwardToSyslog=no

systemctl  restart systemd-journald.service

#查看使用大小
journalctl --disk-usage

将systemd的日志写入磁盘:

1.在/var/log/目录下创建日志存放目录,并加入systemd-journal的权限:

mkdir /var/log/journal
chown root:systemd-journal /var/log/journal
chmod 755 /var/log/journal

systemctl  restart systemd-journald.service
原文地址:https://www.cnblogs.com/fengjian2016/p/12376831.html