Docker 磁盘占用过多问题处理过程记录

一、问题描述

突然发现服务器磁盘使用超过95%了(截图时2.1 和 2.2 已经执行过了)

二、问题分析与解决

2.1,docker 无用镜像占用磁盘

# 使用 docker images 查看服务的镜像
docker images# 可以手动删除一些很大不用的
docker rmi ***## 也可以用下面的命令批量删除无用的镜像
# 删除未被任何容器使用的镜像《我一般使用这个命令》
docker image prune -a# 删除未使用的资源(容器、镜像、卷和网络等)《慎用》
docker system prune

2.2,docker 日志积累过多

### 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"
}

2.3, docker/overlay2 下的容器文件(主要)

#### /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继续往下找
# 终于发现因为该项目一直有报错,导致日志一直积累;自己的项目这个时候就去解决这个问题,然后重新部署一下;问题解决​

三、清除完后查看效果

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/84.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一秒内传输50万对纠缠光子?!纽约市量子网络刷新纪录

量子网络技术行业的领军企业Qunnect宣布,在纽约市的GothamQ网络上,其偏振量子比特的传输性能刷新了纪录。Qunnect利用现有的商用光缆实现了每秒传输50万对高保真度纠缠光子的速率,且该网络的正常运行时间超过了99%。 纽约34公里长的GothamQ量…

服务器数据恢复—RAID5故障导致SAP+oracle数据丢失的数据恢复案例

服务器存储数据恢复环境: 某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。 服务器存储故障&分析: 该RAID5阵列中一块硬盘出现故障离线&#xff0…

PAT——1009说反话(C++)

问题描述: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字…

开启Three.js之旅(会持续完善)

文章目录 Three.js必备构建项目场景Scene相机CameraPerspectiveCamera 渲染器WebGLRendererCSS3DRenderer 灯光LightAmbientLightDirectionalLight 平行光PointLight 加载器CacheFileLoaderLoaderGLTFLoaderRGBELoaderTextureLoader 材质MetarialMeshBasicMaterialMeshLambertM…

k8s集群资源编排清单文件解读

1、YAML 文件概述 k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源…

原子的内部结构

原子非常神奇,花时间思考它是非常有价值的。尽管传统的太阳系示意图存在致命的缺点,但我们还是可以局部应用于原子。 首先,原子与太阳系具有相似性一原子的中心质量大,外部质量小。我们用最简单的氢原子做分析,氢原子…

亚远景科技-如何应对汽车软件开发中质量与速度的冲突带来的挑战?

在汽车软件开发中,质量与速度之间的冲突是常见的挑战。传统上,提高质量可能需要更多的时间和资源,而追求速度可能会牺牲一定的质量标准。然而,结合ASPICE(Automotive SPICE)和敏捷(Agile&#x…

辽宁梵宁教育课程概览:打造职场新人的设计技能利器

随着数字化时代的快速发展,设计技能在职场中的重要性日益凸显。对于职场新人而言,掌握优秀的设计能力不仅有助于个人职业发展,更能为企业创造更多价值。辽宁梵宁教育,作为一所致力于培养职场新人设计技能的培训机构,以…

【Python基础】14.类的结构

类的结构 实例 使用面向对象开发,首先需要定义类使用 类名() 创建对象,创建对象的动作有两步 在内存中为对象 分配空间调用初始化方法__init__(self,*args) 为对象初始化 创建对象后,内存 中就有了对象实际的存在 –实例 因此,…

devc++ 开发大游戏的各种链接命令集合

devc 开发 easyx 的链接命令集合 具体填写位置同结论 3,或者项目属性(Project Option)里面的 parameter 的 linker 一列。 -leasyx 链接 easyx 图形库 实现图形界面(这个是默认的,不用管。除非不想新建工程,一个 cpp 直接跑代码…

网站localStorage的导入和导出

存 localStorage.setItem(SET_QUERY_FORM, JSON.stringify(params)) 取 const FORM JSON.parse(localStorage.getItem(SET_QUERY_FORM)) 导出 (在console里面粘贴执行) let data JSON.stringify(localStorage,null, 4); // 这是你要下载的数据 …

决策树分类器(保姆级教学) 定义+特性+原理及公式+鸢尾花分类经典问题示例(完整Python代码带详细注释、保姆级分部代码解释及结果说明、决策树可视化及解释)

文章目录 引言定义特性基本原理和公式理解信息增益(ID3算法)熵的定义条件熵信息增益的计算 基尼不纯度(CART算法)基尼不纯度的定义基尼不纯度的计算例子 实现步骤解决鸢尾花分类问题(机器学习入门中的经典案例Python代…

makefile第七讲

更多精彩内容在公众号。 当make执行完后,我们期望将最终的可执行文件安装到系统目录下,这样在不同的目录下都可以执行编译的可执行文件,相当于做成了个命令。这个就需要用到make install。 源文件如下:用于判断系统是小端还是大端…

性能分析与调优

性能分析方法 自底向上:通过监控硬件及操作系统性能指标(cpu、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序问题) 先检查,再下药 自顶向下:通过生成负载来观察被测试的系…

【ROS2笔记七】ROS中的参数通信

7.ROS中的参数通信 文章目录 7.ROS中的参数通信7.1使用CLI工具调整参数7.2参数通信之rclcpp实现7.2.1创建节点7.2.2rclcpp参数API Reference ROS2中的参数是由键值对组成的,参数可以实现动态调整。 7.1使用CLI工具调整参数 启动turtlesim功能包的环境 ros2 run …

如何在本地创建一个贪吃蛇小游戏node.js服务并实现无公网IP远程游玩

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

可信通信(TLS/SSL协议)

比特币,以太坊,超级账本在建立网络连接保证节点间可靠通信的时,都直接采用了传输层安全性协议(Transport Layer Security),TLS协议自从1999年发布以来已经广泛的应用在浏览器,电子邮件等应用中了…

OSPF笔记+大实验

OSPF综合大实验---实验报告 配置IP地址 R1: [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 172.16.33.1 24 [R1-GigabitEthernet0/0/0]int l0 [R1-LoopBack0]ip add 172.168.34.1 24 R2: [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 172.16.33.2 24…

Keil MDK下如何设置非零初始化变量 及变量指定位置- Arm CompilerV5 和 V6区别

目录 一、Arm CompilerV51.定义变量时,使用编译器扩展属性__attribute__((section("name"), zero_init))来将变量放入指定段中。其中section("name")选择一个指定的段,zero_init告诉编译器将变量放入ZI段。 二、Arm CompilerV61.定义…

Mybatis-plus自定义分页工具

Mybatis-plus自定义分页工具 这里主要是介绍通过MyBatis-Plus使用自定义分页工具进行条件分页查询示例等,方便以后查阅!!! 分页工具类-PageUtils PageUtils package com.wl.cloud.core.utils;import com.baomidou.mybatisplus.cor…