1.手动删除 docker 的部分 log 文件或可写层文件。通常删除 log 文件,示例如下
cd /var/lib/docker/containers
$ du -sh *
$ cd dda02c9a7491fa797ab730c1568ba06cba74cecd4e4a82e9d90d00fa11de743c
$ cat /dev/null > dda02c9a7491fa797ab730c1568ba06cba74cecd4e4a82e9d90d00fa11de743c-json.log.9
2.清理docker镜像
journalctl --vacuum-size=20M
docker image prune -a --filter "until=24h"
docker container prune --filter "until=24h"
docker volume prune --filter "label!=keep"
docker system prune
3.如何限制容器日志大小
在log-driver是json-file的模式下,容器的日志存放在/var/lib/docker/containers/下面,是以container_id-json.log文件存放
但缺省方式下,log-driver是设置成journald,交给系统的journal服务来进行管理
日志限制可以通过docker option来进行,但是先要把log-driver修改成json-file模式
OPTIONS='--log-driver=json-file --log-opt max-size=50m --log-opt max-file=5'
{
"registry-mirrors": ["https://dockerhub.azk8s.cn", "https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["127.0.0.1/8"],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker"
}