关于机器学习:docker-log太占空间

7次阅读

共计 745 个字符,预计需要花费 2 分钟才能阅读完成。

起因

最近发现服务器的空间总是不够,把 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-reload
systemctl restart docker

但须要留神,配置全局设置的办法只对新部署的容器失效。所以对于原有的容器,咱们须要重新部署。

正文完
 0