簡體   English   中英

清理Docker鏡像占用的磁盤空間

[英]Cleanup disk space occupied by Docker images

我在 windows 10 上運行 docker。

我的機器中存儲了幾張圖像。 這些圖像的總大小累積到大約 10GB。 我已通過“ docker rmi -f ”命令刪除了這些圖像。

但這些圖像所占據的空間並沒有被釋放。 如果我運行“docker images”命令,刪除的圖像不會在“docker images”命令的 output 中列出(但磁盤空間未清理)。

如何改善(即減少)docker 使用的磁盤空間?

首先嘗試運行:

docker system prune

它將刪除:

  • 所有停止的容器
  • 至少一個容器未使用的所有卷
  • 至少一個容器未使用的所有網絡
  • 所有懸垂的圖像

如果這還不夠,請執行以下操作:

docker system prune -a

它將刪除:

  • 所有停止的容器
  • 至少一個容器未使用的所有卷
  • 至少一個容器未使用的所有網絡
  • 沒有至少一個容器關聯的所有圖像

如果您沒有得到預期的結果,請嘗試以下操作

docker volume prune

它將刪除至少一個容器未使用的所有本地卷。

2016 年第四季度更新:正如我在“如何刪除舊的和未使用的 Docker 鏡像”中提到的,使用:

docker image prune -a

(比docker system prune更精確)

它將刪除懸空和未使用的圖像。 警告:“未使用”的意思是“沒有被任何容器引用的圖像”:在使用-a之前要小心。

然后檢查圖像的磁盤空間是否相應縮小。


原答案:

請參閱katopz的 Medium 文章“ 如何清理 Docker(~5GB 垃圾!) ”。

它指的是docker-cleanup腳本,用於刪除舊的退出進程和懸空圖像。
我也有自己的別名

但它也提到,從 docker 1.10 開始,您現在已經命名了需要刪除的卷:

docker volume rm $(docker volume ls -qf dangling=true)

清理系統內存分為三個步驟:

  1. 刪除泊塢窗圖像
  2. docker system prune -a
  3. 退出 docker 容器應用

這對我有用。 完成上述步驟后,清理了大約 30GB 的空間。

在 Wsl2 上運行 docker 桌面的 windows 上,GUI 中有一個選項可以清除數據。 在此處輸入圖像描述

select wsl2提示數據存儲時。

注意:此選項將刪除您的所有 docker 數據。 如果您不想這樣做,請嘗試此線程中其他人提到的修剪選項。

docker system prune在我運行Ubuntu 2020.10.2機器上完美運行。

如果根據我的經驗,您的空間已滿,docker prune 將掛起。 您需要手動刪除卷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM