Docker Overlay2占用大量磁盘空间解决

news2025/6/16 12:14:33

问题

最近项目的jenkins编译时报错

	FATAL: Unable to produce a script file
	java.io.IOException: No space left on device
		at java.io.UnixFileSystem.createFileExclusively(Native Method)
		at java.io.File.createTempFile(File.java:2024)
		at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1467)
	Caused: java.io.IOException: Failed to create a temporary directory in /tmp
		at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1469)
		at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1446)
		at hudson.FilePath.act(FilePath.java:1076)
		at hudson.FilePath.act(FilePath.java:1059)
		at hudson.FilePath.createTextTempFile(FilePath.java:1441)

磁盘没有空间了,那怎么导致的。

排查

	df -hl

如图:
在这里插入图片描述

/路径已经被占满了。/tmp自然不能再新增文件等

经排查是docker overlay2占用大量空间,contrainer空间日志过大
如图:

在这里插入图片描述

分析

查看docker占用虚拟空间

[root@test230 conf.d]# docker ps -s
CONTAINER ID   IMAGE             COMMAND                   CREATED       STATUS       PORTS                                                 NAMES      SIZE
460855bf50c8   logstash:7.17.9   "/usr/local/bin/dock…"   2 hours ago   Up 2 hours   0.0.0.0:5044->5044/tcp, :::5044->5044/tcp, 9600/tcp   logstash   9.74MB (virtual 790MB)

结果正常
看下logstash的空间数据的日志文件
找到占用空间过大的contrainer中日志

查看docker空间占用情况(这个是解决后的)

[root@test230 config]# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          1         1         780.2MB   0B (0%)
Containers      1         1         9.739MB   0B (0%)
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B

解决

修改docker的数据空间

默认是/var/lib/docker,系统空间,一般给的比较小
我们修改成空间大磁盘/home/docker_data/docker/data

vi /etc/docker/daemon.json


{
  "data-root": "/home/docker_data/docker/data",
  "registry-mirrors": ["https://b660ddgx.mirror.aliyuncs.com"]
}

需要重新拉去并启动,
这个能解决,系统空间问题,转移到大磁盘,但解决不了根本问题

彻底解决

清理contrainer中的大日志文件

临时方案:清空日志文件

cd /var/lib/docker/containers/container_id
 > container_id-json.log
 或者
 cat /dev/null > /var/lib/docker/containers/*/*-json.log

注意⚠️:
别进入/var/lib/docker/containers/container_id目录,删除container_id-josn.log文件
因为:
使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。

自动任务清理

将临时方案写成脚本,使用crontab定时执行


#!/bin/sh 
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 "======== end clean docker containers logs ========"

清理无用的contrainer

docker system prune [ -a]
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
-a :清理得更加彻底,可以将没有容器使用Docker镜像都删掉。

设置docker容器日志大小全局控制或者容器控制

全局控制
创建或修改文件 /etc/docker/daemon.json,并增加以下配置


{
    "log-driver":"json-file",
    "log-opts":{
        "max-size" :"50m","max-file":"1"
    }
}


局部控制

docker run -it --log-opt max-size=10m --log-opt max-file=3 logstash

外传

😜 原创不易,如若本文能够帮助到您的同学
🎉 支持我:关注我+点赞👍+收藏⭐️
📝 留言:探讨问题,看到立马回复
💬 格言:己所不欲勿施于人 扬帆起航、游历人生、永不言弃!🔥

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

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

相关文章

#vue项目冗余请求处理#http://localhost:8080/sockjs-node/info?t=1683604231866

目录 前言一、为什么会出现这个请求?二、解决方法1.修改源码 总结 前言 提示:本文要记录的大概内容: 在我的vue项目中,开发环境下,一直重复发请求:http://localhost:8080/sockjs-node/info?t16836042318…

《花雕学AI》33:如何用XMind制作AI思维导图、鱼骨图和组织结构图

思维导图是一种有效的思维工具,它可以帮助我们整理信息,激发创意,提高效率。思维导图是一种以中心主题为核心,以分支结构为形式,以关键词和图像为内容的图形表示法。它可以让我们一目了然地看到知识的层次和逻辑&#…

手把手教你Vue+ECharts+高德地图API实现天气预报数据可视化

前言 所谓数据可视化,我们可以理解为从宏观角度来看一眼就能看出来整个数据的占比,走向。对于数据可视化,很多互联网公司是很看重这一块的,包括大厂;就比如阿里的淘宝,双十一的时候往往就需要将消费者的一…

论文浅尝 | 句法丰富的判别训练:一种有效的开放信息抽取方法

笔记整理:杜苗增,东南大学硕士,研究方向为多模态信息抽取 链接:https://aclanthology.org/2022.emnlp-main.401.pdf 动机 开放信息提取(OIE)是信息提取(IE)的一个分支,专注于从非结构化自然语言文本中提取结构化信息。…

论文笔记_2017_RS_迈向高清 3D 城市测绘:基于道路特征的移动测绘系统和航空影像配准

基本情况 出处:Javanmardi M, Javanmardi E, Gu Y, et al. Towards high-definition 3D urban mapping: Road feature-based registration of mobile mapping systems and aerial imagery[J]. Remote Sensing, 2017, 9(10): 975.原文地址:Remote Sensin…

Postman生成代码的小技巧

描述 你还在使用postman吗?你还是一条条复制参数吗?你还是手动录入数据吗?对于一些不经常使用postman的人来说,这个小技巧可以帮助你导入请求,以及转换成开发语言。 教程 1 抓包接口 以CSDN热榜为例,直…

数据可视化二、综合项目

零、文章目录 数据可视化二、综合项目 1、项目概述 (1)项目展示 (2)项目目的 市场需求:应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使…

Fiddler 微信小程序抓图教程(傻瓜式|汉化版|狗看了都直呼内行)

前言 本篇文章主要给大家详细讲解如何用Fiddler爬取微信小程序的图片,内容图文并茂,流程非常简单,我们开始吧。 目录 获取软件并打开点击工具设置相关代理如何抓图答疑总结 一、获取软件并打开 1、通过百度网盘下载获取安装包(链接是永久的…

二十三种设计模式第六篇--建造者模式(也叫生成器)

建造者模式(Builder Pattern)是使用多个简单的对象一步一步(顺序构建)构建成一个复杂的对象, 这种类型的设计模式属于创建型模式,他提供了一种创建对象的最佳方式。 一个Builder类会一步一步构建成为最终的…

Windows10 WIFI蓝牙图标消失,网卡驱动出现感叹号等无法上网的情况解决方案

Windows10出现WIFI蓝牙图标消失,网卡驱动出现感叹号等无法上网的情况解决方案_飞机跑不快的博客-CSDN博客 问题描述 我的电脑是戴尔游匣G15 5511,由于静电保护的原因,不得不拆开电脑后盖拔掉电池,释放静电,释放完成后…

OpenPCDet系列 | 6.PointPillars模型分类、回归、角度损失的构建

文章目录 模型损失计算1. 分类损失构建1.1 分类损失函数:SigmoidFocalClassificationLoss2. 回归损失构建2.1 回归损失函数:WeightedSmoothL1Loss3. 角度损失构建3.1 角度损失函数:WeightedCrossEntropyLoss4. 总结模型损失计算 在进行anchor的正负样本分配后,具体来说就是…

【运动规划算法项目实战】专栏介绍

文章目录 前言1. 路径规划中常用的插值方法2. 路径规划中常用的抽稀3. 如何加载csv文件的路径信息4. 如何在栅格地图中实现A*算法5. 如何在栅格地图中实现Dijkstra算法6. 如何实现简单的状态机7. 如何实现机器人多目标点导航8. Voronoi图]9. 八叉树地图10. 如何实现三次样条插值…

网安笔记05 SHA

SHA Hash函数 定义 任意长度的数据M变换为定长码h h H A S H ( M ) h H ( M ) h HASH(M)\quad h H(M) hHASH(M)hH(M) 实用性: 给定M,计算h时高效的 安全性: 单向性 给出h,反向计算原文x时不可行的,否则截取…

vcomp140.dll怎么安装?提示vcomp140.dll丢失怎样修复?

在用电脑玩游戏或者打开软件工作的时候,电脑提示vcomp140.dll丢失无法执行此代码,是什么回事呢?需要怎么修复呢?不用紧张,小编今天就把vcomp140.dll文件修复方法分享给大家。我总结了几个修复经验; vcomp14…

IO-概述

概述 ​ IO是Input(输入)和Output(输出)的首字母缩写。 ​ I(输入Input):指向Java程序中输入数据,即Java程序从外部获取数据。 ​ O(输出Output)&#xff1a…

c盘游戏怎么转移到d盘?无需重新安装

概述:游戏占用的容量一般很大,如果都存在C盘中,可能会导致C盘空间不足,这时候我们可以考虑迁移游戏到其他盘。c盘游戏怎么转移到d盘?本指南详细讲解。 一、为什么需要将游戏移动到其他盘 现在很多游戏玩家&#xff0c…

基于结构化跨模态表示一致性的临床辅助结直肠息肉识别

文章目录 Toward Clinically Assisted Colorectal Polyp Recognition via Structured Cross-Modal Representation Consistency摘要本文方法Shared Transformer BlockCross-Modal Global AlignmentSpatial Attention Module 实验结果 Toward Clinically Assisted Colorectal Po…

Liunx下pip3换源(最详细)

在使用python时我们经常会安装各种包,我们一般安装的方式都是pip3 install xx模块,但是pip3默认源https://pypi.org/安装的过程非常慢,可能都是几k几k的,有时安装这安装着,直接error了,还有一种情况是直接飘…

BSR:Block compressed Sparse Row matrix format

BSR块压缩存储是CSR行压缩存储的升级变形;可以降低图数据存储空间。 有以下图的矩阵表示: 一、CSR表示 rowIndex [0 4 8 10 12 16 20] columns [0 1 2 3 | 0 1 2 3 | 2 3 | 2 3 | 2 3 4 5 | 2 3 4 5] values …