/var/lib/docker/containers里容器目录过大处理
docker的日志文件存在 /var/lib/docker/containers目录中,一般过大的文件都是.log的文件,清空.log文件即可
以下命令可以查看这个目录下的所有日志文件
find /var/lib/docker/containers -name *.log
过滤一下过大的目录
du -sh * |grep G可以看出我的这个目录大小是86G
使用以下命令进行日志的清空
sh -c "cat /dev/null > ${log_file}"清空后查看了以下,那个文件的容量已经被缩小了
以上只是临时解决的方式,最好是创建容器时就控制日志的大小
运行时控制
启动容器时,我们可以通过参数来控制日志的文件个数和单个文件的大小
max-size 最大数值
max-file 最大日志数
docker run -it --log-opt max-size=10m --log-opt max-file=3 redis
全局配置
创建或修改文件
/etc/docker/daemon.json,并增加以下配置
{
"log-driver":"json-file",
"log-opts":{
"max-size" :"50m","max-file":"3"
}
}max-size=50m,意味着一个容器日志大小上限是50M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。可以存在的最大日志文件数。如果超过最大值,则会删除最旧的文件。**仅在max-size设置时有效。默认为5
随后重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
!!!不过已存在的容器不会生效,需要重建才可以



浙公网安备 33010602011771号