成人欧美一区二区三区的电影,日韩一级一欧美一级国产,国产成人国拍亚洲精品,无码人妻精品一区二区三区毛片,伊人久久无码大香线蕉综合

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Docker 磁盤占用分析和清理方法

freeflydom
2025年10月13日 11:40 本文熱度 823

本地或測試環(huán)境使用 Docker 時,常出現(xiàn) Docker 占用磁盤空間大,導致系統(tǒng)磁盤資源不足等問題。基于此,總結(jié)了 Docker 磁盤占用分析及清理方法。

一、分析方法

1. 使用 docker system 分析占用整體分布

[root@linux7 data]# docker system df 
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              181                 81                  182.2GB             131.9GB (72%)
Containers          349                 23                  565GB               156.7GB (27%)
Local Volumes       91                  37                  4.706GB             2.67MB (0%)
Build Cache         11                  0                   199.7MB             199.7MB
[root@linux7 data]# docker system df -v  # -v 輸出分布明細

(1)TYPE:表示 Docker 資源類型,包括 Images(鏡像文件)、Containers(容器)、Local Volumes(本地數(shù)據(jù)卷)和 Build Cache(構(gòu)建緩存)。

(2)TOTAL:表示該類型資源的總數(shù)量。

(3)ACTIVE:表示當前正在使用的資源數(shù)量。

(4)SIZE:表示該類型資源占用的磁盤空間總量。

(5)RECLAIMABLE:表示未占用可以回收的磁盤空間大小及百分比。

2. 分析各類資源具體占用

(1)查看鏡像占用并其排序

[root@linux7 data]# docker images --format "{{.Repository}}:{{.Tag}}\t{{.Size}}" | sort -k 2 -h -r

(2)查看容器占用并其排序

[root@linux7 data]# docker ps -a --format "{{.ID}}\t{{.Names}}\t{{.Size}}" | sort -k 3 -h -r 

(3)查看卷占用

[root@linux7 data]# docker volume ls # 查看卷占用
[root@linux7 data]# docker volume inspect <VOLUME_NAME>  # 查看具體卷詳情
[root@linux7 data]# du -sh <MOUNT_POINT> #查看卷真實占用磁盤大小

二、清理方法

1. 清理未運行的容器

(1) 列出所有容器

[root@linux7 data]# docker ps
CONTAINER ID   IMAGE          COMMAND       STATUS      NAMES
a1b2c3d4e5f6   nginx:latest   "nginx -g"    Exited      my-nginx
[root@linux7 data]# docker ps -a # -a 輸出所有容器,含已停止

(2) 清理指定容器

[root@linux7 data]# docker rm <CONTAINER_ID>  # 清理已停止的容器
[root@linux7 data]# docker rm -f <CONTAINER_ID>  # 強制清理(運行中的容器也會被停止并清理)

(3) 清理所有已停止的容器

[root@linux7 data]#  docker container prune # 清理所有處于停止狀態(tài)的容器
[root@linux7 data]#  docker container prune -f # 強制清理所有處于停止狀態(tài)的容器,跳過確認
[root@linux7 data]#  docker container prune --filter "until=24h" # 僅清理 24 小時前停止的容器

2. 清理未使用的鏡像

(1) 列出所有鏡像

[root@linux7 data]# docker images
REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
nginx               latest    abc123456      2 weeks ago    133MB
ubuntu              20.04     def789012      1 month ago    72.8MB

(2) 清理指定鏡像

[root@linux7 data]# docker rmi <IMAGE_ID>  # 按 ID 清理
[root@linux7 data]# docker rmi -f <IMAGE_ID> # 強制清理(即使被容器引用)
[root@linux7 data]# docker rmi nginx:latest  # 按名稱清理

(3) 清理所有未使用的鏡像

命令格式:docker image prune [OPTIONS],默認情況下會清理所有未被容器引用的懸空鏡像(dangling images)。

常用選項:

-a, --all:清理所有未被使用的鏡像,含懸空鏡像。

-f, --force:不提示確認,直接清理。

--filter:支持條件過濾需清理的鏡像。

--dry-run:僅顯示將要清理的鏡像,不實際執(zhí)行清理。

使用示例:

[root@linux7 data]# docker image prune # 清理懸空鏡像
[root@linux7 data]# docker image prune -a # 清理所有未被使用的鏡像,含懸空鏡像
[root@linux7 data]# docker image prune -af # 強制清理不提示確認
[root@linux7 data]# docker image prune --filter "until=24h" # 使用過濾器清理
[root@linux7 data]# docker image prune --dry-run # 僅顯示將要清理的鏡像,不實際執(zhí)行清理,清理操作不可逆,【建議】先使用`--dry-run`查看將要清理的鏡像

3. 清理未使用的網(wǎng)絡(luò)

(1) 列出所有網(wǎng)絡(luò)

[root@linux7 data]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
9e14a4176c29        bridge              bridge              local
65b36b928672        host                host                local
99c1c095900c        none                null                local
[root@linux7 data]# docker network inspect host # 查看

(2) 清理指定網(wǎng)絡(luò)

[root@linux7 data]# docker network rm <NETWORK_ID | NAME> <NETWORK_ID | NAME>  # 清理已停止的網(wǎng)絡(luò)

(3) 清理所有已停止的網(wǎng)絡(luò)

[root@linux7 data]# docker network prune

4. 清理 Docker 所有未使用的資源

docker system prune 是 Docker 提供的系統(tǒng)級清理命令,主要用于清理不再使用的 Docker 對象(懸空資源)。

清理范圍:

(1)停止的容器

(2)未被任何容器引用的網(wǎng)絡(luò)

(3)懸空的鏡像(未被標記且未被任何容器引用的鏡像層)

(4)懸空的構(gòu)建緩存

參數(shù)詳解:

(1)--all / -a:清理所有未使用的鏡像(而不僅僅是懸空鏡像)

(2)--force / -f:跳過確認提示直接執(zhí)行清理

(3)--volumes:清理未被容器使用的卷,務(wù)必謹慎

(4)--filter:按條件過濾要刪除的對象

示例:

[root@linux7 data]# docker system prune # 標準清理
[root@linux7 data]# docker system prune -a -f # 強制清理所有未使用資源
[root@linux7 data]# docker system prune --volumes # 清理未被容器使用的卷,務(wù)必謹慎
[root@linux7 data]# docker system prune --filter "until=48h" # 清理超過 48 小時未被使用的資源。

三、相關(guān)知識點

1. 懸空鏡像(Dangling Images)

(1)定義:指沒有標簽且沒有被任何容器引用的鏡像層。

(2)特征:通常顯示為<none>:<none>的鏡像。

(3)查看方法:

[root@linux7 data]# docker images -f "dangling=true"

(4)產(chǎn)生場景:

多階段構(gòu)建時的中間鏡像:當使用 Dockerfile 進行多階段構(gòu)建時,每個FROM語句都會產(chǎn)生一個中間鏡像。構(gòu)建完成后,這些中間鏡像會變成懸空狀態(tài)。

構(gòu)建失敗殘留:構(gòu)建過程中如果失敗,可能會留下未完成的鏡像層,這些也會成為懸空鏡像。

重新構(gòu)建同名鏡像:當構(gòu)建一個與現(xiàn)有鏡像同名但不同內(nèi)容的新鏡像時,舊鏡像會失去標簽變成懸空鏡像。

鏡像標簽變更:使用docker tag命令修改鏡像標簽后,原鏡像如果沒有其他標簽引用,就會變成懸空鏡像。

使用docker commit創(chuàng)建新鏡像:基于容器創(chuàng)建新鏡像后,原基礎(chǔ)鏡像如果沒有其他引用,可能變成懸空狀態(tài)。

2. 未使用鏡像(Unused Images)

(1)定義:指當前沒有被任何容器使用的鏡像(無論是否有標簽),所以所有懸空鏡像都屬于未使用鏡像。

(2)特征:可能有明確的鏡像標簽;但沒有任何運行或停止的容器基于該鏡像。

轉(zhuǎn)自https://www.cnblogs.com/zengzuo613/p/18995042


該文章在 2025/10/13 11:40:37 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved