计算机知识分享网

【docker】docker清理overlay2日志释放磁盘空间

查看容器的日志文件大小

# 进入到docker的overlay2目录
cd /var/lib/docker/overlay2  

# 查询容器日志占用空间
du -h --max-depth=1 

# 根据日志id查询对应的容器名称
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "0b0b3be771b04f66913ec95ee143b916fe4e8a4d7c5dcebf69a7e2f02108788f"  
进入Linux的日志存放路径,查看具体的日志文件
 # 进入到docker容器目录,其实就是overlay2的同级目录
cd /var/lib/docker/containers


然后再进入具体的容器id目录,可以看到对应的xxxx-json.log文件

日志文件是可以删除的,因为容器还在运行,即文件被占用,所以不能删除,

即使能够删除,也要先备份这个文件以防万一。

既然不能删除,那么可以把这个文件的日志内容清空。

cat /dev/null > xxxx-json.log
建立清理日志文件脚本: clean_docker_log.sh
#!/bin/bash
 
echo "======== start clean docker containers logs ========"
 
logs=$(find /var/lib/docker/containers/ -name *-json.log)
 
for log in $logs
        do
                echo "clean logs : $log"
                cat /dev/null > $log
        done

echo "======== QQ986945193 ========"
echo "======== end clean docker containers logs ========"
给与脚本可执行权限,并且执行即可。
[root@localhost docker-shell]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/81b017d3e5eff96dd73b6216a880593422358773775669f5f798172aec5660c8/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/48ccdc9d1d950fcbdd14fb76d2e0549490e13e0a39caa81e95ff8f19f461f9e1/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/9b16a83143cea55b46ee25c739b32e7ad94d36169ceef64237113c6dcfd9fbd5/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/0524f49228aed5ec2bed17bceade1eb547ccac5fc9f767b3938027fd5cdb4046/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/ca9edbafe51266e5e2d2df27e61933e2faeabb281c00c0d34aaceb1f5fe29a44/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/c30f095affc7bf25ea126ba58f12dd6abdc669f211769331461db3900bee1700/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/74a639ec83fde8bdd05eb54b04a9903594d187451f5153d1084d5f20fb91c329/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/4533a59bfd09673da81bcd1c6ee0157132871f6b911777f7e8ec8a34771df1e9/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/464e59e219bb8d99293091dbed7417d9a7b5b4270f2b6aae99435881339d6040/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/286c790cbb616970afe48e82183749689d809efd221ea7c538f4319cc9364b7f/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/610c4a91ac0a8b32a1ef487b33fe62ec7ac1f70a9342c83a957e996291af48a9/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/3c29efde9c8edab527661393b62687f68e406fe51a989cd2ceaaf13339ba91f2/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/77c42fd8636e3d0a04755076389941a68f2de4c4566b17488a1f6ecf53722e78/merged
tmpfs                    1.6G     0  1.6G    0% /run/user/0
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/1db256a260eb2565ecb89fd174ba82c3074f7ca397854779381ed9a9724f4b92/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/0ee4e84a55f2e0915bd2165b5aef4204d6c387cc8906f116820f832e61139c51/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/3e4d7a7747f7e5a071168822794cc5cda973bbab1e3f9d966876b40c94b99eb4/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/18aa31cb62ffcc83c1cf2b00f30b78c627d9d32e6a38e6b4e407ff57b870c711/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/e78999f49a7918e92fbaabae6b310198d1e551cb9c731670069ca5ca655e1b66/merged
overlay                   50G   28G   23G   55% /var/lib/docker/overlay2/32c85057c6294a38cdba2e461ea4f10e5fe9d9e84967c5b61959cb695946935c/merged

#Docker