如何刪除 Docker 中的懸虛鏡像?

Docker 中,懸虛鏡像(Dangling Images)是指那些沒有 標簽 且沒有被任何容器使用的鏡像。這些鏡像通常是由于構建過程中生成的中間層鏡像或未正確清理的鏡像殘留。刪除懸虛鏡像可以釋放磁盤空間并保持 Docker 環境的整潔。

1. 列出懸虛鏡像

首先,列出所有懸虛鏡像,以確認哪些鏡像需要刪除。

使用 docker images 命令:

docker images -f "dangling=true"

輸出信息:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              abc123def456        2 weeks ago         1.23GB
<none>              <none>              def456ghi789        3 weeks ago         2.34GB

2. 刪除懸虛鏡像

  • 方法一:使用 docker image prune 命令

docker image prune 命令專門用于刪除懸虛鏡像。

基本語法:

docker image prune [OPTIONS]

常用選項:

  • -a, --all:刪除所有未被標簽引用的鏡像(包括懸虛鏡像和未使用的中間層鏡像)。
  • -f, --force:強制刪除,不提示確認。

示例:

  1. 刪除所有懸虛鏡像
docker image prune -f

示例輸出:

Deleted Images:
deleted: sha256:abc123def4567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
deleted: sha256:def456ghi7890abcdef1234567890abcdef1234567890abcdef1234567890abcdefTotal reclaimed space: 3.57GB
  1. 刪除所有未被標簽引用的鏡像
docker image prune -a -f

注意: 此操作會刪除所有未被標簽引用的鏡像,包括懸虛鏡像和未使用的中間層鏡像,請謹慎使用。

  • 方法二:使用 docker rmi 命令

如果您只想刪除特定的懸虛鏡像,可以使用 docker rmi 命令。

步驟:

  1. 列出懸虛鏡像并獲取其 IMAGE ID
docker images -f "dangling=true" -q

示例輸出:

abc123def456
def456ghi789
  1. 刪除懸虛鏡像

使用 docker rmi 命令刪除列出的 IMAGE ID

docker rmi $(docker images -f "dangling=true" -q)

示例輸出:

Untagged: <none>:<none>
Deleted: sha256:abc123def4567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Untagged: <none>:<none>
Deleted: sha256:def456ghi7890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

3. 驗證懸虛鏡像是否刪除

再次列出懸虛鏡像,確認它們已被刪除。

docker images -f "dangling=true"

示例輸出:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

4. 注意事項

  • 確認無誤:在刪除懸虛鏡像之前,確保這些鏡像確實不再需要。懸虛鏡像通常是構建過程中生成的中間層鏡像,刪除它們不會影響正在運行的容器。
  • 備份重要數據:如果您不確定某些鏡像是否重要,可以先備份這些鏡像。
  • 使用 -a 選項時謹慎:docker image prune -a 會刪除所有未被標簽引用的鏡像,包括懸虛鏡像和未使用的中間層鏡像,這可能會導致構建失敗或其他問題。

5. 自動清理懸虛鏡像

為了定期清理懸虛鏡像,可以設置定時任務或使用 Docker 的自動清理功能。

使用 docker system prune 命令,可以清理多種類型的未使用數據,包括懸虛鏡像、未使用的網絡和卷。

基本語法:

docker system prune [OPTIONS]

常用選項:

  • -a, --all:刪除所有未被標簽引用的鏡像。
  • -f, --force:強制刪除,不提示確認。
  • --volumes:刪除所有未被使用的卷。

示例:

docker system prune -a -f --volumes

注意: 此操作會刪除大量數據,請謹慎使用。

6. 總結

刪除懸虛鏡像是保持 Docker 環境整潔和釋放磁盤空間的有效方法。通過以下步驟,您可以輕松地刪除懸虛鏡像:

  1. 列出懸虛鏡像:使用 docker images -f "dangling=true"
  2. 刪除懸虛鏡像:使用 docker image prune -fdocker rmi $(docker images -f "dangling=true" -q)
  3. 驗證刪除:再次列出懸虛鏡像,確認它們已被刪除。

參考文檔:

  • Docker 官方文檔 - docker image prunehttps://docs.docker.com/reference/cli/docker/image/prune/
  • Docker 官方文檔 - docker system prunehttps://docs.docker.com/reference/cli/docker/system/prune/

通過這些步驟和命令,您可以有效地管理和維護 Docker 環境,確保其高效運行。如果您在操作過程中遇到任何問題,建議參考 Docker 官方文檔或社區支持資源以獲取更多幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/65116.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65116.shtml
英文地址,請注明出處:http://en.pswp.cn/web/65116.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡安全的學習與實踐經驗(附資料合集)

學習資源 在線學習平臺&#xff1a; Hack This Site&#xff1a;提供從初學者到高級難度的挑戰任務&#xff0c;適合練習各種網絡安全技術。XCTF_OJ&#xff1a;由XCTF組委會開發的免費在線網絡安全網站&#xff0c;提供豐富的培訓材料和資源。SecurityTube&#xff1a;提供豐…

ts是什么、tsc是什么、tsx是什么、jsx是什么、scss是什么

一、TS (TypeScript): TypeScript 是一種由微軟開發的開源編程語言&#xff0c;它是 JavaScript 的一個超集&#xff0c;增加了類型系統和對ES6及以后版本新特性的支持。TypeScript 旨在解決 JavaScript 開發中的可維護性、可擴展性和大型項目中的復雜性問題。它允許開發者在編…

行業商機信息付費小程序系統開發方案

行業商機信息付費小程序系統&#xff0c;主要是整合優質行業資源&#xff0c;實時更新的商機信息。在當今信息爆炸的時代&#xff0c;精準、高效地獲取行業商機信息對于企業和個人創業者而言至關重要。 一、使用場景 日常瀏覽&#xff1a;用戶在工作間隙或閑暇時間&#xff0c…

[Qt] 輸入控件 | Line | Text | Combo | Spin | Date | Dial | Slider

目錄 輸入類控件 1、Line Edit 錄入個人信息 使用正則表達式驗證輸入框的數據 驗證兩次輸入的密碼一致 切換顯示密碼 2、Text Edit 獲取多行輸入框的內容 驗證輸入框的各種信號 3、Combo Box 使用下拉框模擬麥當勞點餐 從文件中加載下拉框的選項 4、Spin Box 調整…

Flink CDC 自定義函數處理 SQLServer XML類型數據 映射 doris json字段方案

Flink CDC 自定義函數處理 SQLServer XML類型數據方案 1. 背景 因業務使用SQLServer數據庫&#xff0c;CDC同步到doris 數倉。對于SQLServer xml類型&#xff0c;doris沒有相應的字段對應&#xff0c; 可以使用json來存儲xml數據。需要進行一步轉換。從 flink 自定義函數入手…

C語言:cJSON將struct結構體與JSON互相轉換

文章目錄 struct 轉 jsonjson 轉 struct 文檔&#xff1a; https://github.com/DaveGamble/cJSON 項目結構 . ├── libs │ ├── cJSON.c │ └── cJSON.h └── main.c示例 struct 轉 json #include "libs/cJSON.h" #include <stdio.h>// defi…

JeeSite 快速開發平臺:全能企業級快速開發解決方案|GitCode 光引計劃征文展示

投稿人GitCode ID&#xff1a;thinkgem 光引計劃投稿項目介紹 JeeSite 快速開發平臺&#xff0c;不僅僅是一個后臺開發框架&#xff0c;它是一個企業級快速開發解決方案&#xff0c;后端基于經典組合 Spring Boot、Shiro、MyBatis&#xff0c;前端采用 Beetl、Bootstrap、Admi…

2025/1/4期末復習 密碼學 按老師指點大綱復習

我們都要堅信&#xff0c;道路越是曲折&#xff0c;前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 現代密碼學 第五版 楊波 第一章 引言 1.1三大主動攻擊 1.中斷…

【架構設計(一)】常見的Java架構模式

常見的 Java 架構模式解析 在 Java 開發領域&#xff0c;選擇合適的架構模式對于構建高效、可維護且能滿足業務需求的軟件系統至關重要。本文將深入探討幾種常見的 Java架構模式&#xff0c;包括單體架構與微服務架構、分層架構與微服務架構的對比&#xff0c;以及事件驅動架構…

opencv與halcon的差距及改進方法

本文是直接問ai獲得的結果。 在我理解中&#xff0c;這是開源軟件與商業非開源工業軟件的普遍差距特點。 商業非開源工業軟件的人員、資金、時間投入是巨大的&#xff0c;開發人員也不是普通人普通水平。 一般情況下&#xff0c;試圖通過開源軟件改吧改吧就實現彎道超車&#x…

Java 內存溢出(OOM)問題的排查與解決

在 Java 開發中&#xff0c;內存溢出&#xff08;OutOfMemoryError&#xff0c;簡稱 OOM&#xff09;是一個常見且棘手的問題。相比于數組越界、空指針等業務異常&#xff0c;OOM 問題通常更難定位和解決。本文將通過一次線上內存溢出問題的排查過程&#xff0c;分享從問題表現…

AF3 AtomAttentionEncoder類解讀

AlphaFold3的AtomAttentionEncoder 類用于處理基于原子的表示學習任務。 源代碼: class AtomAttentionEncoderOutput(NamedTuple):"""Structured output class for AtomAttentionEncoder."""token_single: torch.Tensor # (bs, n_tokens, c_…

【51單片機零基礎-chapter3:按鍵:獨立按鍵|||附帶常見C語句.邏輯運算符】

將unsigned char var0;看作溝通二進制和十進制的橋梁 var是8位,初始為0000 0000; 同時可以進行十進制的運算 邏輯運算 位運算 & 按位與(有0則0) | 按位或(有1則1) ~ 按位非 ^ 按位異或(相同則1,不同為0) <<按位左移 >>按位右移 位運算符解釋: 0011 1100 <&…

游戲如何檢測iOS越獄

不同于安卓的開源生態&#xff0c;iOS一直秉承著安全性更高的閉源生態&#xff0c;系統中的硬件、軟件和服務會經過嚴格審核和測試&#xff0c;來保障安全性與穩定性。 據FairGurd觀察&#xff0c;雖然iOS系統具備一定的安全性&#xff0c;但并非沒有漏洞&#xff0c;如市面上…

在Lua中,Metatable元表如何操作?

Lua中的Metatable&#xff08;元表&#xff09;是一個強大的特性&#xff0c;它允許我們改變表&#xff08;table&#xff09;的行為。下面是對Lua中的Metatable元表的詳細介紹&#xff0c;包括語法規則和示例。 1.Metatable介紹 Metatable是一個普通的Lua表&#xff0c;它用于…

Python基于matplotlib實現樹形圖的繪制

在Python中&#xff0c;你可以使用matplotlib庫來繪制樹形圖&#xff08;Tree Diagram&#xff09;。雖然matplotlib本身沒有專門的樹形圖繪制函數&#xff0c;但你可以通過組合不同的圖形元素&#xff08;如線條和文本&#xff09;來實現這一點。 以下是一個簡單的示例&#…

2 秒殺系統架構

第一步 思考面臨的問題和業務場景 秒殺系統面臨的問題: 短時間內并發非常高&#xff0c;如果按照秒殺的并發做相應的承載會造成大量資源的浪費。第二解決超賣的問題。 第二步 思考目前的處境和解決方案 因為秒殺系統屬于短時間內的高并發問題&#xff0c;我們不可能使用那么…

12306分流搶票軟件 bypass v1.16.43 綠色版(春節自動搶票工具)

軟件介紹 12306Bypass分流搶票軟件&#xff0c;易操作強大的12306搶票軟件&#xff0c;全程自動搶票&#xff0c;云識別驗證碼打碼&#xff0c;多線程秒單、穩定撿漏&#xff0c;支持搶候補票、搶到票自動付款&#xff0c;支持多天、多車次、多席別、多乘客、短信提醒等功能。…

淺談torch.utils.data.TensorDataset和torch.utils.data.DataLoader

1.torch.utils.data.TensorDataset 功能定位 torch.utils.data.TensorDataset 是一個將多個張量&#xff08;Tensor&#xff09;數據進行簡單包裝整合的數據集類&#xff0c;它主要的作用是將相關聯的數據&#xff08;比如特征數據和對應的標簽數據等&#xff09;組合在一起&…

【Go】運行自己的第一個Go程序

運行自己的第一個Go程序 一、Go語言的安裝Go環境安裝查看是否安裝成功配置GOPROXY(代理) 二、Goland安裝三、Goland破解四、新建項目 開一篇專欄記錄學習Go的過程&#xff0c;一門新語言從hello world開始&#xff0c;這篇文章詳細講解Go語言環境搭建及hello world實現 一、Go語…