清除docker無用鏡像實現(xiàn)過程
一、查看 docker 占用的資源
在進行資源清理之前我們有必要搞清楚 docker 都占用了哪些系統(tǒng)的資源。
這需要綜合使用不同的命令來完成。
docker container ls:默認只列出正在運行的容器,-a 選項會列出包括停止的所有容器。docker image ls:列出鏡像信息,-a 選項會列出 intermediate 鏡像(就是其它鏡像依賴的層)。docker volume ls:列出數(shù)據(jù)卷。docker network ls:列出 network。docker info:顯示系統(tǒng)級別的信息,比如容器和鏡像的數(shù)量等。
通過這些命令查看 docker 使用的資源情況后,相信你已經(jīng)決定要清理 docker 占用的一些資源了!讓我們先從那些未被使用的資源開始。
二、只刪除那些未被使用的資源
Docker 提供了方便的 docker system prune 命令來刪除那些已停止的容器、dangling 鏡像、未被容器引用的 network 和構(gòu)建過程中的 cache:
$ docker system prune
使用以下命令清理已經(jīng)停止運行的docker容器
docker rm $(docker ps --all -q -f status=exited)
1、通過標(biāo)簽刪除鏡像
通過如下兩個都可以刪除鏡像:
docker rmi [image]
或者:
docker image rm [image]
支持的子命令如下:
-f, -force: 強制刪除鏡像,即便有容器引用該鏡像;-no-prune: 不要刪除未帶標(biāo)簽的父鏡像;
2、通過 ID 刪除鏡像
除了通過標(biāo)簽名稱來刪除鏡像,我們還可以通過制定鏡像 ID, 來刪除鏡像,如:
docker rmi ID
一旦制定了通過 ID 來刪除鏡像,它會先嘗試刪除所有指向該鏡像的標(biāo)簽,然后在刪除鏡像本身。
3、刪除鏡像的限制
- 先刪除引用這個鏡像的容器;
- 再刪除這個鏡像;
也就是,根據(jù)上圖中提示的,引用該鏡像的容器 ID, 執(zhí)行刪除命令:
docker rm ID
然后,再執(zhí)行刪除鏡像的命令:
docker rmi ID
4、清理鏡像
我們在使用 Docker 一段時間后,系統(tǒng)一般都會殘存一些臨時的、沒有被使用的鏡像文件,可以通過以下命令進行清理:
docker image prune
它支持的子命令有:
-a, --all: 刪除所有沒有用的鏡像,而不僅僅是臨時文件;-f, --force:強制刪除鏡像文件,無需彈出提示確認;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker run啟動的容器掛掉了數(shù)據(jù)怎么辦
這篇文章主要介紹了docker run啟動的容器掛掉了,數(shù)據(jù)怎么辦,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
Docker中conda環(huán)境的導(dǎo)出和導(dǎo)入
現(xiàn)在很多的應(yīng)用程序系統(tǒng)都會選擇使用docker容器進行部署,本文主要介紹了Docker中conda環(huán)境的導(dǎo)出和導(dǎo)入,具有一定的參考價值,感興趣的可以了解一下2024-02-02
docker kubernetes dashboard安裝部署詳細介紹
這篇文章主要介紹了docker kubernetes dashboard安裝部署詳細介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10
docker-compose常用命令及.yaml配置模板方式
這篇文章主要介紹了docker-compose常用命令及.yaml配置模板方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
docker之MySQL同步數(shù)據(jù)的實現(xiàn)
本文主要介紹了docker之MySQL同步數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

