優(yōu)雅地刪除Docker容器與鏡像的具體步驟
引言
在使用 Docker 進行容器化管理時,隨著時間的推移,鏡像和容器會不斷累積,占用大量存儲空間。如果不及時清理,它們可能會影響系統(tǒng)的運行效率。為了保持系統(tǒng)的整潔與高效,了解如何安全、高效地刪除鏡像和容器是每位 Docker 用戶必備的技能。
本文將詳細介紹 Docker 中鏡像和容器的區(qū)別,如何刪除它們,以及如何優(yōu)雅地進行這些操作。
鏡像與容器的區(qū)別
在 Docker 中,鏡像(Image)和容器(Container)是兩個核心概念,它們分別扮演著不同的角色:
- 鏡像:Docker 鏡像是一個靜態(tài)文件,包含了構建和運行容器所需的所有內容??梢詫⑵淅斫鉃閼贸绦虻拇虬0?,通過鏡像可以創(chuàng)建多個容器實例。
- 容器:容器是鏡像的運行實例,是鏡像在 Docker 中的具體實現(xiàn)。容器可以隨時啟動、停止和刪除,每個新容器都會基于指定的鏡像創(chuàng)建。
簡單來說,鏡像是一個應用的模板,而容器則是這個模板的運行副本。
刪除容器和鏡像的具體步驟
1. 刪除容器
容器在 Docker 中占用系統(tǒng)資源,運行不再需要的容器會浪費存儲空間。因此,定期清理無用容器是非常重要的。以下是刪除容器的步驟:
步驟 1:查看當前運行的容器
首先,可以使用 docker ps 命令查看所有正在運行的容器。這會顯示一個表格,包含容器 ID、鏡像名稱、啟動命令、創(chuàng)建時間和當前狀態(tài)等信息。
docker ps
示例輸出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d0b4c3e8 myapp:latest "/bin/bash" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp my_app
在此示例中,容器 ID 為 d0b4c3e8 的容器正在運行。刪除容器時,我們可以只使用 容器 ID 的前三位,如 d0b。
步驟 2:停止容器
使用 docker stop 命令停止容器。停止容器后,容器的狀態(tài)將從“Up”變?yōu)?ldquo;Exited”,意味著它已停止運行,但仍然存在于系統(tǒng)中。
docker stop d0b
停止后,可以再次運行 docker ps,確認容器是否已停止。此時,如果使用 docker ps,將不會看到該容器,因為該命令僅列出正在運行的容器。
步驟 3:刪除容器
停止容器后,使用 docker rm 命令徹底刪除該容器。此命令僅刪除指定的容器,不會影響其他容器的運行。
docker rm d0b
成功執(zhí)行后,該容器將被從 Docker 系統(tǒng)中徹底移除。如果您想查看所有容器(包括已停止的容器),可以使用以下命令:
docker ps -a
此命令會列出所有容器,包括已退出的容器,以便檢查和確認。
2. 刪除鏡像
每個容器都是基于鏡像啟動的,鏡像包含了操作系統(tǒng)、應用程序、依賴及配置等內容。刪除不再需要的鏡像可以釋放系統(tǒng)空間。刪除鏡像前,確保沒有容器正在使用該鏡像。
步驟 1:查看鏡像列表
使用 docker images 命令查看當前系統(tǒng)中的所有鏡像,輸出包括鏡像 ID、名稱、標簽、創(chuàng)建時間和大小等信息。
docker images
示例輸出:
REPOSITORY TAG IMAGE ID CREATED SIZE myapp latest b76e2f4b 2 days ago 500MB ubuntu 20.04 a78b2c1d 3 weeks ago 70MB
在上面的示例中,鏡像 ID 為 b76e2f4b 的鏡像對應應用 myapp:latest。我們可以使用鏡像 ID 的前三位(如 b76)來指定要刪除的鏡像。
步驟 2:刪除鏡像
確保沒有運行中的容器依賴該鏡像后,可以使用 docker rmi 命令刪除指定的鏡像。
docker rmi b76
成功執(zhí)行后,Docker 將從系統(tǒng)中移除該鏡像。如果該鏡像被多個容器引用,您需要先停止并刪除相關容器,然后再刪除鏡像。
3. 刪除所有容器和鏡像
如果你要徹底清空 Docker 中所有容器和鏡像,可以按以下步驟操作:
- 停止所有運行中的容器
docker stop $(docker ps -aq)
- 刪除所有容器(無論是否運行)
docker rm $(docker ps -aq)
- 刪除所有鏡像(包括懸空鏡像)
docker rmi $(docker images -aq) -f
4.(可選)清理構建緩存和無用數(shù)據(jù)
docker system prune -a --volumes
這會刪除所有容器、鏡像、網絡、卷,請確保你不再需要它們。
如果你只想刪除特定鏡像或容器,請用 docker ps -a 和 docker images 查看后再手動刪除。
執(zhí)行完后,你可以用以下命令確認是否清空成功:
docker ps -a docker images
如果輸出為空,說明已徹底清空。
使用 1Panel 管理鏡像和容器
如果您希望更直觀地管理 Docker 容器和鏡像,可以考慮使用 1Panel 這樣的一體化管理工具。1Panel 提供了圖形化界面,可以方便地查看、啟動、停止、刪除容器和鏡像,極大地簡化了 Docker 管理操作,非常適合不熟悉命令行操作的用戶。

小結
優(yōu)雅刪除容器的流程
- 停止容器:優(yōu)雅地停止容器的運行。
- 刪除容器:容器停止后,再進行刪除操作。
優(yōu)雅刪除鏡像的流程
- 停止容器:首先停止基于該鏡像運行的所有容器。
- 刪除容器:確保容器已停止后,進行容器刪除。
- 刪除鏡像:容器刪除后,再刪除鏡像。
通過以上步驟,您可以有效地管理和清理 Docker 容器與鏡像,釋放寶貴的系統(tǒng)資源。
以上就是優(yōu)雅地刪除Docker容器與鏡像的具體步驟的詳細內容,更多關于刪除Docker容器與鏡像的資料請關注腳本之家其它相關文章!
相關文章
Docker部署Jirafeau文件共享工具的實現(xiàn)步驟
Jirafeau 是一款開源的文件分享工具,為用戶提供簡單、快速的一鍵式文件上傳與分享服務,本文就來介紹一下Docker部署Jirafeau文件共享工具的實現(xiàn)步驟,感興趣的可以了解一下2025-07-07
Docker啟動容器報錯:Ports are not available的解決方案
這篇文章主要介紹了Docker啟動容器報錯:Ports are not available的解決方案,Docker 將容器程序的端口號映射到宿主機的端口號,是一個 NAT 過程,這個過程可能會因為與 Windows NAT 服務沖突而失效,文中有詳細的解決方案,需要的朋友可以參考下2024-03-03
Docker中搭建FastDFS文件系統(tǒng)(多圖教程)
這篇文章主要介紹了Docker中搭建FastDFS文件系統(tǒng)(多圖教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-05-05

