容器清理
- 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