Docker:清理Docker占用的磁盤空間


容器清理

  • docker container prune : 僅刪除停止運行的容器。
  • docker rm -f $(docker ps -aq) : 刪除所有容器(包括停止的、正在運行的)。
  • docker container rm -f $(docker container ls -aq) : 同上。

鏡像清理

docker rmi <image id> :通過鏡像的id來刪除指定鏡像。

有一些鏡像是隱形的:

  • 子鏡像,就是被其他鏡像引用的中間鏡像,不能被刪除。
  • 懸掛狀態的鏡像,就是不會再被使用的鏡像,可以被刪除。

其他命令:

  • docker image ls -f dangling=true : 可以列出所有懸掛狀態的鏡像
    並使用命令 docker image rm $(docker image ls -f dangling=true -q)docker image prune進行刪除。
  • docker image rm $(docker image ls -q) :刪除所有鏡像。但正在被容器使用的鏡像無法刪除。

數據卷清理

  • docker volume rm $(docker volume ls -q) :刪除不再使用的數據卷。
  • docker volume prune :同上。

緩存清理

Docker 18.09 引入了 BuildKit ,提升了構建過程的性能、安全、存儲管理等能力。

docker builder prune :刪除 build cache。


一鍵清理

docker system df 命令,類似於 Linux上的 df 命令,用於查看 Docker 的磁盤使用情況:


TYPE列出了 Docker 使用磁盤的 4 種類型:

 

  • Images :所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。
  • Containers :運行的容器占用的空間,表示每個容器的讀寫層的空間。
  • Local Volumes :容器掛載本地數據卷的空間。
  • Build Cache :鏡像構建過程中產生的緩存空間(只有在使用 BuildKit 時才有,Docker 18.09 以后可用)。

最后的 RECLAIMABLE 是可回收大小。

  • docker system prune : 可以用於清理磁盤,刪除關閉的容器、無用的數據卷和網絡,以及 dangling 鏡像(即無 tag 的鏡像)。
  • docker system prune -a : 清理得更加徹底,可以將沒有容器使用 Docker鏡像都刪掉。
    注意,這兩個命令會把你暫時關閉的容器,以及暫時沒有用到的 Docker 鏡像都刪掉了。

轉載鏈接:https://www.jianshu.com/p/ffc697692dd7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM