起因
最近发现服务器的空间总是不够,把exsi的所有资源都给了server虚拟机后,才一周磁盘就又被占满了。
查找大文件、大目录
从根目录开始,应用
du -h --max-depth=1
逐层查找大目录、大文件,最终定位到 /var/lib/docker/containers/ 这个目录占了44G。查看,发现是有个容器的log文件太大。
查看docker容器log大小的脚本
#!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done
chmod +x docker_log_size.sh./docker_log_size.sh
限度docker的log大小
简略的删除log文件只是治本,过段时间还会生成这么多的,所以咱们须要治标。
如果应用docker-compose,那么简略的在compose文件中加上
logging: driver: "json-file" options: max-size: "500m"
这个配置项,而后更新stack,即可。
或者,咱们能够配置docker的全局设置:批改或新建 /etc/docker/daemon.json :
"log-driver":"json-file","log-opts": {"max-size":"500m", "max-file":"1"}
而后重启docker守护过程:
systemctl daemon-reloadsystemctl restart docker
但须要留神,配置全局设置的办法只对新部署的容器失效。所以对于原有的容器,咱们须要重新部署。