继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕的地10843
关注TA
已关注
手记 1081
粉丝 200
获赞 961

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

webp

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

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

webp

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

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

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


先 docker images -a 看一下是不是有过多的  的镜像了,其中有一部分是这类镜像。

# 删除所有未打标签的镜像.

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

webp

注意:

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

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

扩展根分区

VMware分配空间

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

先看一下现有磁盘情况:

# fdisk -l

webp

对新磁盘进行分区:

# fdisk /dev/sdb

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

n  --创建新分区

p  --创建主分区

<回车>  --默认分区编号

<回车>  --默认起始扇区位置。

<回车>  --默认结束扇区位置。

w  --写入分区表

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

再看一下现有磁盘情况:

# fdisk -l

已经多出了一个新分区:

webp

将新分区用于扩展/root

先看一下卷分组:

# vgdisplay -v

webp

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

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

# pvcreate /dev/sdb1

查看结果:

# pvdisplay

webp

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

# vgextend centos_h32 /dev/sdb1

提示成功扩展。

webp

下面查看一下逻辑卷:

# lvdisplay

webp

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


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

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

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

webp

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

# xfs_growfs /dev/centos_h32/root

webp

扩展完成。

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

查看结果:

# df -Th

/root已经扩充到33GiB:

webp



作者:欢醉
链接:https://www.jianshu.com/p/0a4a16a66f10


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP