Docker镜像导致centos-root根分区容量爆满

原创 2018年01月30日 09:40:05

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

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

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

 

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

那下面要么清理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:

 
版权声明:作者:欢醉 公众号【一个码农的日常】技术群:319931204 1号群: 437802986 2号群: 340250479 出处:http://blog.csdn.net/zs1041126478 本文版权归作者和博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

docker容器存放目录磁盘空间满了

今天在Liunx服务器上重启docker的时候,发现容器启动不了了,报的错误是:"ERROR:cannot  create temporary directory!"。我的猜测应该就是磁盘空间满了,于...
  • niu_hao
  • niu_hao
  • 2017年12月22日 14:38
  • 673

CentOS7下Docker Storage Pool扩容

前言:在docker刚起步的时候,RHEL的内核并不支持AUFS作为docker的后端存储而将移植工作推迟。后来,红帽和docker合作开发一种基于Device Mapper技术的后端存储框架,也就是...
  • counsellor
  • counsellor
  • 2016年11月30日 20:57
  • 1844

docker在centos7下的一些坑

在centos的docker上安装mysql提示chown mod /var/lib/mysql permission denied,通过下面的方法1解决。  在centos上挂载数据卷,在容器内部访...
  • hxpjava1
  • hxpjava1
  • 2017年10月18日 14:49
  • 267

Centos7修改docker的Data Space Total大小

记得备份你的容器此处就不多做介绍了–storage-opts 参数devicemapper文档:https://github.com/moby/moby/tree/master/daemon/grap...
  • TinyJian
  • TinyJian
  • 2017年11月03日 16:15
  • 450

浅说国际根域名服务器与中国电信的镜像服务器

一、域名与其服务器       域名是互联网上人们熟悉、易记的计算机名字。域名具有唯一性,在全世界,没有重复的域名。从技术上讲,域名只是一个Internet中用于解决地址对应问题的一种方法,可以说只...
  • kevinhg
  • kevinhg
  • 2012年04月25日 09:56
  • 8335

docker镜像创建与基本使用

查看镜像 在docker环境安装完成之后,对docker的使用主要集中在docker镜像的管理与使用。首先是docker镜像的管理,查看本地有哪些镜像可以使用命令: docker images 运...
  • five3
  • five3
  • 2017年07月21日 18:32
  • 1837

如何清理Docker占用的磁盘空间?

作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全Docker化架构,所有服务,包括数据库都运行在Docker里面。这样做当然不是为了炫技,看得清楚的好处还是不少的: 所有服务器的配...
  • B9Q8e64lO6mm
  • B9Q8e64lO6mm
  • 2018年01月16日 07:02
  • 187

/dev/mapper/vg_test-lv_root 占用到达100%的解决方法

磁盘满了看看 1、查看这个目录 du -sh ~/.local/share/Trash 看看是否是回收站满了 2、查看/tmp目录和/var目录是否有大文件 3、看看这个目录加下面的文件是...
  • luoxiaojuan2
  • luoxiaojuan2
  • 2015年11月19日 16:18
  • 13474

docker基础镜像制作

项目往基于容器上迁移,涉及到最基本的基础镜像制作,本文介绍制作一个基础的jdk的镜像并push到私有仓库。准备文件sources.list由于需要使用apt安装一些相关的组件,将源指向我们公司内部的源...
  • JThink_
  • JThink_
  • 2017年04月18日 15:55
  • 1336

Docker 修改已有镜像(commit )

先使用下载的镜像启动容器。$ sudo docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/#注意:记住容器的 ID,稍后还会...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2017年03月14日 21:15
  • 6325
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker镜像导致centos-root根分区容量爆满
举报原因:
原因补充:

(最多只允许输入30个字)