首页 > docker > docker日志文件太大导致磁盘占满
2019
01-14

docker日志文件太大导致磁盘占满

背景


最近发现公司的gitlab磁盘总是占用过大,需要清理一下


分析

df -h 
#发现大量的占用是在这个目录
/var/lib/docker/containers/

#继续追查

du -s /var/lib/docker/*  |sort -nr

#发现了35G的docker日志文件,这是gitlab运行保存的日志文件
/var/lib/docker/containers/accb75c0e66f4dada9c23cd28ce5b11581c2e023b61bb2f34a15ea2cf07d654d/accb75c0e66f4dada9c23cd28ce5b11581c2e023b61bb2f34a15ea2cf07d654d-json.log

#于是清理一下

cat /dev/null > /var/lib/docker/containers/accb75c0e66f4dada9c23cd28ce5b11581c2e023b61bb2f34a15ea2cf07d654d/accb75c0e66f4dada9c23cd28ce5b11581c2e023b61bb2f34a15ea2cf07d654d-json.log


清理后发现磁盘占用瞬间降下来了,但是如何防止以后磁盘继续占用过多呢?


控制 log 容量的命令

运行时控制

启动容器时,我们可以通过参数来控制日志的文件个数和单个文件的大小

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":"1"
   }
}

随后重启 Docker 服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker


本文》有 0 条评论

留下一个回复