记录一次磁盘不足的问题
docker日志占用过大问题
df -h 查看存储空间使用情况,发现 /data 目录空间已满

docker清理不出多余的空间了

查看docker目录下占用情况

分别查看overlay2和containers目录下占用情况

overlay2:

docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "357860f908577317c242ff3ff7005744dd7bd22e4504a2716780ec3db07f462a"
发现nacos和mysql占用比较大的存储空间(nacos不是很理解为什么这么大)
Containers:
[root@localhost containers]# docker ps -a | grep e706624ef
e706624efba9 lafyun/instance-controller:latest "docker-entrypoint.s…" 4 months ago Up 4 months 0.0.0.0:49155->9000/tcp, :::49155->9000/tcp docker-compose-instance-controller-1
[root@localhost containers]# docker ps -a | grep c0f11440fad
c0f11440fad1 grafana/loki:2.2.0 "/usr/bin/loki -conf…" 3 months ago Up 3 months 0.0.0.0:3100->3100/tcp, :::3100->3100/tcp test-loki
发现loki占用很大,暂时停掉删除
解决方法:

日志文件太大,手动删除或者设置最大日志大小限制
控制容器日志大小
以上只是临时解决的方式,最好是创建容器时就控制日志的大小。
运行时控制
启动容器时,我们可以通过参数来控制日志的文件个数和单个文件的大小
# max-size 最大数值 # max-file 最大日志数 $ 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":"3" } }max-size=50m,意味着一个容器日志大小上限是50M, max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。可以存在的最大日志文件数。如果超过最大值,则会删除最旧的文件。**仅在max-size设置时有效。默认为5。
随后重启 Docker 服务
不过已存在的容器不会生效,需要重建才可以
转至 https://www.cnblogs.com/zhangmingcheng/p/13960496.html
另一方面,docker所在的磁盘空间不足,linux一直往主磁盘写空间不足的日志,导致主磁盘的空间也不足

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zeropava!
评论





