背景
最近发现公司的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 条评论