赞
踩
突然发现服务器磁盘使用超过95%了(截图时2.1 和 2.2 已经执行过了)
- # 使用 docker images 查看服务的镜像
- docker images
-
- # 可以手动删除一些很大不用的
- docker rmi ***
-
-
- ## 也可以用下面的命令批量删除无用的镜像
- # 删除未被任何容器使用的镜像《我一般使用这个命令》
- docker image prune -a
-
-
- # 删除未使用的资源(容器、镜像、卷和网络等)《慎用》
- docker system prune
- ### Docker 容器的日志文件可能会增长并占用大量的磁盘空间。可以检查并删除不再需要的容器日志文件。
-
- ## 这个命令将删除 /var/lib/docker/containers/ 目录下的容器日志文件。
- # docker 默认安装目录执行命令
- # sudo find /var/lib/docker/containers/ -name "*-json.log" -type f -delete
-
- # 本人Docker映射在数据盘/data 中
- sudo find /data/docker/containers/ -name "*-json.log" -type f -delete
-
-
- ## 修改 daemon.json 配置,增加对log日志限制
- vim /etc/docker/daemon.json
-
- # 增加如下配置
- "log-opts":{
- "max-size":"100m","max-file":"3"
- }
-
- #### /var/lib/docker/overlay2 目录下的大文件是Docker镜像或容器的层(layers)。这些层可能是由于之前的Docker容器未正确清理或删除,导致残留的层文件。
-
- ## 进入docker目录
- # cd /var/lib/docker
- # 本人Docker映射在数据盘/data 中
- cd /data/docker
-
- # 检索文件的最大深度1,即只检索汇总计算当前目录下的文件
- du -h --max-depth=1
-
- # 执行后发现确实是overlay2下占用最大,继续往下找
- cd overlay2
- du -h --max-depth=1
-
- # 发现有很多容器,仔细发现有几个占用特别大,于是先用命令吧大文件过滤出来(只显示大于5GB的文件和目录)
- du -h --max-depth=1 --threshold=5G
-
- # 执行发现一个 635G 的文件夹,继续往下找
- # 这里出现了两个docker比较重要的文件夹
- # diff 文件夹: diff 文件夹是一个只读的文件系统层,它包含了Docker镜像的变更内容。当您对容器进行修改或添加新文件时,这些变更会被记录在 diff 文件夹中。每个Docker镜像都有一个对应的 diff 文件夹,用于存储与基础镜像的差异。
- # merged 文件夹: merged 文件夹是一个可读写的文件系统层,它是由基础镜像和 diff 文件夹合并而成的。当您启动一个Docker容器时, merged 文件夹中的内容将作为容器的文件系统。这个文件夹是容器运行时的可写层,您可以在容器中对文件进行修改或添加新文件,这些修改将存储在 merged 文件夹中。
- # 综上所述 这两个文件夹内容是一样的 merged会多一些由容器本身产出的写文件,进merged继续往下找
- # 终于发现因为该项目一直有报错,导致日志一直积累;自己的项目这个时候就去解决这个问题,然后重新部署一下;问题解决
-
-
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。