溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

發(fā)布時(shí)間:2020-07-16 06:40:02 來源:網(wǎng)絡(luò) 閱讀:2229 作者:歡醉 欄目:大數(shù)據(jù)

  當(dāng)虛擬機(jī)服務(wù)器運(yùn)行Docker久了后,發(fā)現(xiàn)Docker的文件越來越大,某天發(fā)現(xiàn)此臺(tái)機(jī)上的數(shù)據(jù)庫(kù)訪問不了了,再重啟數(shù)據(jù)庫(kù)等日志,提示空間不足,查看磁盤空間:

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

  root分區(qū)滿載啊,前段時(shí)間還有不少空間的,查下什么大文件內(nèi)容占了空間。

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

 Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

最近用的docker越來越大 才導(dǎo)致磁盤滿了。

那下面要么清理docker,要么擴(kuò)展磁盤。

兩步都做吧,先簡(jiǎn)單清理docker,或許可以清理一些空間出來。

 

先 docker images -a 看一下是不是有過多的 <none> 的鏡像了,其中有一部分是這類鏡像。
# 刪除所有未打標(biāo)簽的鏡像.

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

容器的內(nèi)容也是在存儲(chǔ)層的。可以 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

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

注意:

這可能會(huì)清除掉images,慎用。

再進(jìn)行了上面對(duì)docker處理后,下面對(duì)磁盤擴(kuò)容。

擴(kuò)展根分區(qū)

VMware分配空間

選中虛擬機(jī)->虛擬機(jī)設(shè)置->添加=》硬盤->添加15G,可以看看第一張圖的硬盤1是SCSI(0:0)新加的硬盤2是SCSI(0:1)

先看一下現(xiàn)有磁盤情況:

# fdisk -l
Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

 

對(duì)新磁盤進(jìn)行分區(qū):

# fdisk /dev/sdb

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

n  --創(chuàng)建新分區(qū)
p  --創(chuàng)建主分區(qū)
<回車>  --默認(rèn)分區(qū)編號(hào)
<回車>  --默認(rèn)起始扇區(qū)位置。
<回車>  --默認(rèn)結(jié)束扇區(qū)位置。
w  --寫入分區(qū)表

這樣就把整個(gè)磁盤分成了一個(gè)區(qū)。

再看一下現(xiàn)有磁盤情況:

# fdisk -l

已經(jīng)多出了一個(gè)新分區(qū):

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

將新分區(qū)用于擴(kuò)展/root

先看一下卷分組:

# vgdisplay -v

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

可以看到當(dāng)前卷分組名為"centos_h42"。

為之前新增的分區(qū)創(chuàng)建物理卷:

# pvcreate /dev/sdb1

查看結(jié)果:

# pvdisplay

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

擴(kuò)展卷分組,"centos_h42"是vgdisplay命令查到的卷分組名:

# vgextend centos_h42 /dev/sdb1

提示成功擴(kuò)展。

 Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

下面查看一下邏輯卷:

# lvdisplay

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

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

 

下面擴(kuò)展邏輯卷/dev/centos_h42/root:

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

注:+15G是我們新增加的分區(qū)大小。

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿

擴(kuò)展后,還要執(zhí)行一步 將文件系統(tǒng)擴(kuò)大:

# xfs_growfs /dev/centos_h42/root

擴(kuò)展完成。

因?yàn)榘惭bCentOS用的xfs分區(qū),所以使用命令xfs_growfs擴(kuò)展文件系統(tǒng)大小。否則的話使用resize2fs命令。
查看結(jié)果:

# df -Th

/root已經(jīng)擴(kuò)充到33GiB:

Docker鏡像導(dǎo)致centos-root根分區(qū)容量爆滿


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI