docker system prune -a 是一個非常有用的命令,用于清理 Docker 系統中未使用的資源,包括停止的容器、未使用的網絡、卷以及未被任何容器引用的鏡像(懸空鏡像和所有未使用的鏡像)。以下是關于該命令的詳細說明:
命令格式
docker system prune -a
作用
- 清理停止的容器:刪除所有已經停止的容器。
- 清理未使用的鏡像:
- 刪除所有懸空鏡像(dangling images)。
- 刪除所有未被任何容器引用的鏡像。
- 清理未使用的網絡:刪除沒有容器連接的自定義網絡。
- 清理未使用的卷:刪除沒有容器關聯的卷。
參數說明
- -a 或 --all:清理所有未使用的鏡像,而不僅僅是懸空鏡像。
- --volumes(可選):同時清理未使用的卷。如果不加此選項,卷不會被清理。
執行示例
1. 基本清理
運行以下命令清理所有未使用的資源:
docker system prune -a
系統會提示確認操作,輸入 y 繼續。
2. 清理并包含卷
如果需要同時清理未使用的卷,可以加上 --volumes 參數:
docker system prune -a --volumes
注意事項
- 謹慎使用:docker system prune -a 會刪除所有未使用的鏡像,包括那些你可能手動拉取但未使用的鏡像。請確保不需要這些資源后再執行。
- 保留必要的資源:如果你有一些鏡像或容器需要保留,建議先標記它們(例如重新創建容器或為鏡像打標簽)。
- 非交互模式:可以通過添加 -f 參數跳過確認提示:
docker system prune -a -f
?