清除docker無用鏡像實(shí)現(xiàn)過程
一、查看 docker 占用的資源
在進(jìn)行資源清理之前我們有必要搞清楚 docker 都占用了哪些系統(tǒng)的資源。
這需要綜合使用不同的命令來完成。
docker container ls:默認(rèn)只列出正在運(yùn)行的容器,-a 選項(xiàng)會(huì)列出包括停止的所有容器。docker image ls:列出鏡像信息,-a 選項(xiàng)會(huì)列出 intermediate 鏡像(就是其它鏡像依賴的層)。docker volume ls:列出數(shù)據(jù)卷。docker network ls:列出 network。docker info:顯示系統(tǒng)級(jí)別的信息,比如容器和鏡像的數(shù)量等。
通過這些命令查看 docker 使用的資源情況后,相信你已經(jīng)決定要清理 docker 占用的一些資源了!讓我們先從那些未被使用的資源開始。
二、只刪除那些未被使用的資源
Docker 提供了方便的 docker system prune 命令來刪除那些已停止的容器、dangling 鏡像、未被容器引用的 network 和構(gòu)建過程中的 cache:
$ docker system prune
使用以下命令清理已經(jīng)停止運(yùn)行的docker容器
docker rm $(docker ps --all -q -f status=exited)
1、通過標(biāo)簽刪除鏡像
通過如下兩個(gè)都可以刪除鏡像:
docker rmi [image]
或者:
docker image rm [image]
支持的子命令如下:
-f, -force: 強(qiáng)制刪除鏡像,即便有容器引用該鏡像;-no-prune: 不要?jiǎng)h除未帶標(biāo)簽的父鏡像;
2、通過 ID 刪除鏡像
除了通過標(biāo)簽名稱來刪除鏡像,我們還可以通過制定鏡像 ID, 來刪除鏡像,如:
docker rmi ID
一旦制定了通過 ID 來刪除鏡像,它會(huì)先嘗試刪除所有指向該鏡像的標(biāo)簽,然后在刪除鏡像本身。
3、刪除鏡像的限制
- 先刪除引用這個(gè)鏡像的容器;
- 再刪除這個(gè)鏡像;
也就是,根據(jù)上圖中提示的,引用該鏡像的容器 ID, 執(zhí)行刪除命令:
docker rm ID
然后,再執(zhí)行刪除鏡像的命令:
docker rmi ID
4、清理鏡像
我們?cè)谑褂?Docker 一段時(shí)間后,系統(tǒng)一般都會(huì)殘存一些臨時(shí)的、沒有被使用的鏡像文件,可以通過以下命令進(jìn)行清理:
docker image prune
它支持的子命令有:
-a, --all: 刪除所有沒有用的鏡像,而不僅僅是臨時(shí)文件;-f, --force:強(qiáng)制刪除鏡像文件,無需彈出提示確認(rèn);
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker安裝配置RabbitMQ的實(shí)現(xiàn)步驟
RabbitMQ是基于AMQP的一款消息管理系統(tǒng)。AMQP(Advanced?Message?Queuing?Protocol),是一個(gè)提供消息服務(wù)的應(yīng)用層標(biāo)準(zhǔn)高級(jí)消息隊(duì)列協(xié)議,其中RabbitMQ就是基于這種協(xié)議的一種實(shí)現(xiàn)2021-11-11
Docker MySQL 單主從及分表函數(shù)的解決方案
本文介紹了MySQL單主從配置和按月分表兩種方案,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-10-10
怎樣獲取docker動(dòng)態(tài)分配的port
這篇文章給大家主要介紹了如何獲取docker動(dòng)態(tài)分配的port,文中通過分析、解決以及后續(xù)可能遇到的問題都給大家詳細(xì)介紹了,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-10-10
利用python自動(dòng)生成docker nginx反向代理配置
這篇文章主要介紹了利用python自動(dòng)生成docker nginx反向代理配置的相關(guān)資料,完成反向代理盡量簡(jiǎn)單,占內(nèi)存少等,需要的朋友可以參考下2017-01-01
Docker的徹底刪除與重新安裝完整步驟(ubuntu22.04)
Docker是一種輕量級(jí)的容器化平臺(tái),可以幫助開發(fā)人員將應(yīng)用程序及其依賴項(xiàng)打包成一個(gè)可移植的容器,這篇文章主要介紹了Docker的徹底刪除與重新安裝完整步驟的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
docker安裝OpenWebUI報(bào)錯(cuò)500的原因及解決方法
Open?WebUI是一個(gè)可擴(kuò)展、功能豐富且用戶友好的自托管WebUI,旨在完全離線操作,這篇文章主要介紹了docker安裝OpenWebUI報(bào)錯(cuò)500的原因及解決方法,需要的朋友可以參考下2025-07-07

