docker 列出目前沒有被用的虛擬網路和網域IP

要同時列出 目前沒有被容器使用的 Docker 虛擬網路,以及它們的 網域 IP (subnet/gateway),可以用以下方式:


🛠️ 一步到位的指令


docker network ls -q | \
xargs -n1 docker network inspect --format '{{.Name}} {{len .Containers}} {{range .IPAM.Config}}{{.Subnet}} {{.Gateway}}{{end}}' | \
awk '$2==0 {print $1 "\t" $3 "\t" $4}'

解釋:

  • docker network ls -q → 取得所有網路 ID
  • docker network inspect → 檢查每個網路的容器數量與 IPAM 設定
  • {{.Name}} → 網路名稱
  • {{len .Containers}} → 使用中的容器數量
  • {{.Subnet}} {{.Gateway}} → 網段與 gateway IP
  • awk '$2==0 …' → 篩選出容器數量為 0 的網路

📋 範例輸出

假設有幾個未使用的網路,結果可能會像這樣:

br-3c618673992d    172.18.0.0/16    172.18.0.1
br-9058c2f1ace6    172.20.0.0/16    172.20.0.1
br-c958e37aeeb8    172.19.0.0/16    172.19.0.1

這表示:

  • br-3c618673992d → 網段 172.18.0.0/16,gateway 172.18.0.1,目前沒有容器使用
  • 其他列出的網路同理

🧹 清理未使用的網路

如果確認這些網路都不需要,可以直接清理:

docker network prune

它會刪掉所有沒有容器使用的網路。


👉 要不要我幫你整理一個 「查詢 vs 清理」的對照表,讓你快速決定是只檢查還是直接刪掉?

Also See

12
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025
8:20 PM - December 06, 2025