docker清理佔用空間(docker磁碟空間不足)

我們的DevOps平臺目前釋出了V 2.4.0版,使用者已經超過了200人,隨著使用者的增多和託管專案的增多,原來執行DevOps平臺的虛擬機器也經常報空間不足,雖然主環境已經開始遷移Kubernets環境,但原來的環境因為部分使用者的使用要求老的環境仍然在使用。下面記錄了在遇到Docker空間不足時經常採用的辦法。

匯入docker映象時,錯誤提示:磁碟空間不足。

1.檢視docker映象存放目錄空間大小

du -hs /var/lib/docker/

2.停止docker服務。

systemctl stop docker

3.檢視磁碟容量大的空間,且在上面建立新的docker目錄。

df -h mkdir -p /data/docker/lib

4.遷移/var/lib/docker目錄下的檔案到新建立的目錄/data/docker/lib

rsync -avz /var/lib/docker /data/docker/lib/

5.編輯 /etc/docker/daemon.json 新增如下引數

{   "graph": "/data/docker/lib/docker" }

6.重新載入docker,並重啟docker服務。

systemctl daemon-reload && systemctl restart docker

7.檢查docker是否變更為新目錄/data/docker/lib/docker

[root@localhost ~]# docker info ... Docker Root Dir: /data/docker/lib/docker Debug Mode (client): false Debug Mode (server): false Registry: https://index.docker.io/v1/ ...

8.刪掉docker舊目錄

rm -rf /var/lib/docker

常見docker清理方法

docker system df 類似於Linux上的df命令,用於檢視Docker的磁碟使用情況:

docker system prune 可以用於清理磁碟,刪除關閉的容器、無用的資料卷和網路,以及dangling映象(即無tag的映象)。

docker system prune -a 清理得更加徹底,可以將沒有容器使用Docker映象都刪掉。注意,這兩個命令會把你暫時關閉的容器,以及暫時沒有用到的Docker映象都刪掉了…所以使用之前一定要想清楚.。我沒用過,因為會清理 沒有開啟的 Docker