docker存儲空間不足怎么辦

解決方法:1、停止docker服務后,利用“rsync -avz /var/lib/docker 大磁盤目錄/docker/lib/”將docker遷移到大容量磁盤中;2、編輯“/etc/docker/daemon.json”添加指定參數,將docker的目錄遷移綁定;3、重載和重啟docker服務即可。

docker存儲空間不足怎么辦

本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker存儲空間不足怎么辦

當我們使用docker時,經常會創建新鏡像和新容器,在新容器中又會安裝各種包,這些東西不是虛擬的,而是實實在在存于我們的磁盤中,默認在/var/lib/docker中,這個目錄是屬于系統盤的,而系統盤的空間往往不大,這樣就會造成,隨著時間的推移,docker越來越大,最后系統盤的空間被占滿,所以這個時候就需要遷移docker的存儲目錄到更大的盤,才能把系統盤的空間騰出來。

查看服務器所有磁盤的使用情況:

df?-h

可以看到,紅框處就是系統盤的大小,總大小是188G(相對其他盤小太多),之前是占滿的,但是博主已經做了遷移,所以空出了很大的空間。

docker存儲空間不足怎么辦

查看docker鏡像和容器存儲目錄的空間大小

du?-sh?/var/lib/docker/

停止docker服務

systemctl?stop?docker

這里比較奇怪的是,我的systemctl 一直失敗,也找不到原因,報錯如下:

Failed?to?execute?operation:?Launch?helper?exited?with?unknown?return?code?1

知道原因的小伙伴可以教一下怎么解決。如果大家試了上面的命令失敗了,就用下面這個命令:

service?docker?stop

解決方法:

1、將docker遷移到大容量的磁盤中

#?首先創建目錄 mkdir?-p?大磁盤目錄/docker/lib/ #?遷移 rsync?-avz?/var/lib/docker?大磁盤目錄/docker/lib/

2、編輯/etc/docker/daemon.json,添加參數,將docker的目錄遷移綁定

紅框是添加的參數

docker存儲空間不足怎么辦

3、重載和重啟docker服務

systemctl?daemon-reload?&&?systemctl?restart?docker

但是systemctl我依然運行失敗,所以我是使用以下命令重啟docker的:

service?docker?restart

檢查docker是否綁定新目錄

docker?info

如果Docker Root Dir由/var/lib/docker變為你指定的目錄,說明遷移成功。

docker存儲空間不足怎么辦

刪除docker舊目錄

rm?-rf?/var/lib/docker

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享