当虚拟机服务器运行Docker久了后,发现Docker的文件越来越大,某天发现此台机上的数据库访问不了了,再重启数据库等日志,提示空间不足,查看磁盘空间:

  root分区满载啊,前段时间还有不少空间的,查下什么大文件内容占了空间。

find / -xdev -size +100M -exec ls -l {} \;

最近用的docker越来越大 才导致磁盘满了。

哪个文件夹占用高,先进入文件夹,再输入命令查看

du -h --max-depth=1

那下面要么清理docker,要么扩展磁盘。

两步都做吧,先简单清理docker,或许可以清理一些空间出来。

先 docker images -a 看一下是不是有过多的 <none> 的镜像了,其中有一部分是这类镜像。
# 删除所有未打标签的镜像.

docker rmi $(docker images -aq -f "dangling=true")

容器的内容也是在存储层的。可以 docker ps -a 看一下是不是有很多之前的容器没有删掉的,可以 docker rm $(docker ps -aq -f "dangling=true") 来删除。

垃圾回收

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /etc:/etc:ro spotify/docker-gc

有些容器明明stop了,但是它还是占着某些资源

docker rm -f $(docker ps -a | grep Exit | awk '{ print $1 }')

使用docker自带命令先清理一次。

docker system prune -a

注意:

这可能会清除掉images,慎用。

再进行了上面对docker处理后,下面对磁盘扩容。

扩展根分区

VMware分配空间

选中虚拟机->虚拟机设置->添加=》硬盘->添加15G,可以看看第一张图的硬盘1是SCSI(0:0)新加的硬盘2是SCSI(0:1)

先看一下现有磁盘情况:

# fdisk -l

对新磁盘进行分区:

# fdisk /dev/sdb

在fdisk的交互模式中,依次输入:

n  --创建新分区
p --创建主分区
<回车> --默认分区编号
<回车> --默认起始扇区位置。
<回车> --默认结束扇区位置。
w --写入分区表

这样就把整个磁盘分成了一个区。

再看一下现有磁盘情况:

# fdisk -l

已经多出了一个新分区:

将新分区用于扩展/root

先看一下卷分组:

# vgdisplay -v

可以看到当前卷分组名为"centos_h32"。

为之前新增的分区创建物理卷:

# pvcreate /dev/sdb1

查看结果:

# pvdisplay

扩展卷分组,"centos_h32"是vgdisplay命令查到的卷分组名:

# vgextend centos_h32 /dev/sdb1

提示成功扩展。

下面查看一下逻辑卷:

# lvdisplay

可以看到/dev/centos_h32/root目前的LV Size是17.47GiB。

下面扩展逻辑卷/dev/centos_h32/root:

# lvextend -L +15G /dev/centos_h32/root

注:+15G是我们新增加的分区大小。

扩展后,还要执行一步 将文件系统扩大:

# xfs_growfs /dev/centos_h32/root

扩展完成。

因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小。否则的话使用resize2fs命令。
查看结果:

# df -Th

/root已经扩充到33GiB:

 

Docker镜像导致centos-root根分区容量爆满的更多相关文章

  1. 动态在线扩容root根分区大小的方法详解

    前言 本文主要介绍了关于动态在线扩容root根分区大小的相关内容,分享出来供大家参考学习,下面话不都说了,来一起看看详细的介绍吧. ? 1 qemu-img resize yourname.img + ...

  2. RHEL7虚拟机中不重启的情况下加新硬盘及扩展根分区容量

    在VMware中添加一块新的5G硬盘 显示当前分区 # fdisk -l 通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载.这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可 ...

  3. centos 扩展root根分区的大小

    目标:将VolGroup-lv_home缩小到125G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况[root@localhost ~]# df -h文件系统     ...

  4. Docker 镜像制作 CentOS+JDK+Tomcat

    [root@localhost createImages]# ls apache-tomcat-.tar.gz server-jre-8u121-linux-x64.tar.gz [root@loca ...

  5. 解决Virtualbox的根分区容量不够用问题

    现在Virtualbox新建一块磁盘.容量一定要比原来的大.然后执行克隆命令. 把原来的磁盘内容克隆到新磁盘上.然后重新启动电脑. 运行相关扩容命令即可. #克隆磁盘 cd C:\Program Fi ...

  6. openstack 制作大于2TB根分区自动扩容的CENTOS镜像

    制作镜像的时候默认分的是30G空间 qemu-img create -f raw centos.img 30G 看官网文档安装完系统需要安装cloud-init和clout-utils包,本人安装了完 ...

  7. 如何为根分区扩容(centos7为例)

    linux系统所有的文件都是存放在根分区中的,如果根分区容量即将耗尽,我们就需要给根分区扩容,我们可以使用lsblk命令来查看,系统的根分区实际是逻辑卷,所以想要扩展根分区只要将逻辑卷扩容就可以了.此 ...

  8. Linux Centos7 根分区磁盘扩容[详解]

    CentOS7 根分区扩容 [详细过程] 前提 1.如果原来的系统根分区为逻辑卷分区 则可以使用如下的方法 如果不是则不可以 2.如果原来的系统根分区不是逻辑卷分区 则不可以扩展只能再添加挂在磁盘进行 ...

  9. centos7 根分区扩容

    系统安装时候使用的默认分区,根分区只分了50G,使用的是LVM 想把home分区分出来660G给根分区 先查了点资料开搞 由于xfs分区只支持增大,不支持缩小,所以home目前是xfs格式无法进行缩小 ...

随机推荐

  1. MySQL优化一 简绍

    优化方面: 存储层:数据表”存储引擎”选取.字段类型选取.逆范式(3范式) 设计层:索引.分区/分表 架构层:分布式部署(主从模式/共享) sql语句层:结果一样的情况下,要选择效率高.速度快.节省资 ...

  2. HTML5新特性: 自定义属性前缀data-以及dataset的使用

    HTML5规定可以为元素添加非标准的属性,但要添加前缀 data- ,目的是为元素提供与渲染无关的信息,或者提供语义信息.这些属性可以任意添加.随便命名,只要以 data- 开头即可 添加了自定义属性 ...

  3. Appium python

    1.运行报错:FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.android.ime without first uninstalling ...

  4. Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

    今天在测试服务器做调试的时候,遇到Mysql的启动问题,好像是PID文件找不到了. 不科学啊,前几天还好好的呀,我也没怎么乱搞啊,然后一通百度,找到了几个解决办法. 1.有可能是已经存在mysql进程 ...

  5. jquery/Js属性无效

    今天遇到个很奇葩的问题,就是checkbox的onchange时间无效,我一共写了两个checkbox的onchange事件,但就是只有一个能用,本来我以为是jquery的兼容问题,但是换成js还是不 ...

  6. Python爬虫下载美女图片(不同网站不同方法)

    声明:以下代码,Python版本3.6完美运行 一.思路介绍 不同的图片网站设有不同的反爬虫机制,根据具体网站采取对应的方法 1. 浏览器浏览分析地址变化规律 2. Python测试类获取网页内容,从 ...

  7. 【C#】发票助手二维码生成

    之前一起吃饭听说了发票助手这个东西,可以生成发票抬头的二维码,扫码就可以开票了. 官方也有个小程序的 [税务发票助手],微信中搜这个名字就可以了. 我准备在自己的小程序中也尝试一下,本来觉得只要拼接一 ...

  8. 《精通Linux C编程》1.3Linux系统的常用命令-笔记

    [toc] 1.3.1了解Shell Linux常用命令的运行环境就是Shell,它是一种命令解析器,在用户和操作系统之间提供了一个交互接口. 用户在命令行输入命令,然后Shell对该命令进行解析并将 ...

  9. css loading

    css /*loading*/ .loader { width: 100px; height: 101px; border: 8px solid; border-top-color: hsl(154, ...

  10. JIRA开启时间追踪并为问题记录工作日志

    在升级版的JIRA中(4.2or4.3),我们可以使用其记录工作日志的功能.之前研究了很长时间,就是找不到初始预估时间在哪里设置,但是剩余工作时间与耗费时间都可以填写.根据官网的帮助文档也没找到合适的 ...