首页 > 其他分享 >docker overlay2引发磁盘爆满

docker overlay2引发磁盘爆满

时间:2023-12-14 16:13:36浏览次数:34  
标签:容器 爆满 文件夹 diff docker overlay2 merged

前因: 最近服务器磁盘占比超过90%,log已经清理, 发现/data/docker/overlay2目录占用70%了

 

1.尝试清理docker未用镜像:

docker image prune

删除所有未使用的 Docker 资源,包括容器、镜像、卷和网络等(慎用, 小心删除有用容器)

docker ps -a | grep Exit

docker system prune

 

2.查找大文件

进入/data/docker/overlay2目录,查找目录大于5G

cd /data/docker/overlay2
du -h --max-depth=1 --threshold=5G
或者du -sh ./* | sort -rn | more 目录大小排序

 3.进入对应目录,发现很多core.*文件且很大

cd 034bc446e343c6127cb0053bc7266242b40b7028f9dc62713c7ede2ec5fa86cd
du -sh *
cd  merged

 解释: 

1.Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试

2.diff 文件夹: diff 文件夹是一个只读的文件系统层,它包含了Docker镜像的变更内容。当您对容器进行修改或添加新文件时,这些变更会被记录在 diff 文件夹中。每个Docker镜像都有一个对应的 diff 文件夹,用于存储与基础镜像的差异。

3.merged 文件夹: merged 文件夹是一个可读写的文件系统层,它是由基础镜像和 diff 文件夹合并而成的。当您启动一个Docker容器时, merged 文件夹中的内容将作为容器的文件系统。这个文件夹是容器运行时的可写层,您可以在容器中对文件进行修改或添加新文件,这些修改将存储在 merged 文件夹中。

4.删除所有core文件, 此问题解决

 

补充:

1.查看overlay2 里目录名字找到对应docker容器

docker ps -q | xargs docker inspect --format '{{.State.Pid}},{{.Id}},{{.GraphDriver.Data.WorkDir}}'   | grep 034bc446e343c6127cb0053bc7266242b40b7028f9dc62713c7ede2ec5fa86cd 
#结果通过{{id}}值的前面几位值去搜
docker ps | grep dactce6

标签:容器,爆满,文件夹,diff,docker,overlay2,merged
From: https://www.cnblogs.com/aroin/p/17901382.html

相关文章

  • 利用Docker和CLion在Mac优雅地开发和调试Linux C++程序
    利用Docker和CLion在Mac优雅地开发和调试LinuxC++程序starrymarin计算机主业,间断性健身爱好者,摩托、金融入门​关注他 27人赞同了该文章最近在做一些新的东西,所以学习了一些新的东西,也对旧知识加强了很多,所以终于有东西可以记录一下了。今天先更......
  • centos 7 安装Docker 和 JDK1.8
    centos7.安Docker1、检查是否已经安装docker.   dockerversion系统必须为64位:cat/etc/redhat-release 内核版本必须高于3.10:uname-r 使用 root 权限登录Centos。确保yum包更新到最新。如果是新安装的操作系统,这个过程还是需要一些时间的。前提一定是已......
  • docker~构建java应用程序的正确姿势
    我们的构建和打包,都是在docker环境进行的,你可以使用Dockerfile中的多镜像模式,也可以单独执行,我是在jenkinspipeline中用到这个,所以我单独写,这个使我的Dockerfile更加简洁。构建java项目,我们为了保证宿主机的整洁,我们采用docker的方式进行项目的编译和打包$workspace是在docke......
  • Docker安装Kafka安装zookeeper教程(超详细)
    1Docker安装Kafka安装zookeeper教程(超详细)2app-tier:网络名称3-driver:网络类型为bridge41.dockernetworkcreateapp-tier--driverbridge561、安装zookeeper7Kafka依赖zookeeper所以先安装zookeeper8-p:设置映射端口(默认2181)9-d:后台启动101......
  • 软件测试/测试开发|Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
    为什么要搭建性能监控平台?1.1需求背景在用Jmeter获取性能测试结果的时候,Jmeter本身带有聚合报告如下图所示:这个报告有几个很明显的缺点:只能自己看,无法实时共享;报告信息的展示比较简陋单一,不直观;1.2需求方案为了解决上述问题,必须要请出了InfluxDB+Grafana......
  • docker和docker-compose生产的容器,不在同一个网段,解决方式
    在实际项目中,使用dockerrunxxXx 和docker-composeup-d不在同一个网段,一个是默认是172.17.x.x, 另一个是172.19.x.x。为解决这个问题需要自定义一个网络,我命名为“my-bridge”首先熟悉几条命令:dockernetworkls或者dockernetworklist查看当前的docker网络的内容、容器的......
  • Centos7.4安装docker
    1. 卸载旧版本sudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate......
  • WSL 2 Docker 安装 code-server 远程开发
    安装WSL启用wsl功能,选中“适用于Linux的Windows子系统”。在微软应用商店安装Ubuntu-22.04。WSL文档请查看官方文档。 WSL安装Docker参考 Docker文档。docker安装完了之后却启动不了,百度之后才发现安装的是WSL1,需要升级到WSL2。 升......
  • .net8.0 在docker下发布镜像的坑
    最近升级.net8.0,出现应该不能在挂载目录中建立文件的问题,在相应位置创建时报错,在docker中/app/Upload$>1.txtbash:1.txt:Permissiondenied 7.0是没有这个问题的,根据官方说法:.NET8.0ContainerImagesNowAvailable·dotnet/dotnet-docker·Discussion#4995·Gi......
  • Docker容器中配置和启用Java Flight Recorder(JFR)
    1.简介和背景在Java应用程序性能调优中,JavaFlightRecorder(JFR)是一个非常强大的工具。它能够实时收集Java应用程序的运行数据,提供有关性能问题的深入见解。在Docker容器中使用JFR,可以更轻松地管理和监控应用程序性能。2.JFR的基本概念和工作原理JFR是Java的一项特性,它通过事件记......