docker鏡像消失的問題及臨時(shí)解決方案
場景:
想要在服務(wù)器上load一個(gè)鏡像,用于使用Dockerfile 進(jìn)行其他服務(wù)鏡像的打包。
問題描述
在docker load 了一個(gè)鏡像,結(jié)果過了一會,鏡像自己消失了。就是鏡像自動消失了。
我這里load的是一個(gè)openjdk 的鏡像,
使用以下命令進(jìn)行的load
# gunzip -c openjre.tar.gz | docker load
完成后,通過查詢,可以看到該鏡像是存在的
# docker images |grep openjdk
這時(shí)候立馬通過Dockerfile docker build -t 對我想要打鏡像的服務(wù)進(jìn)行打鏡像包。也是可以打出對應(yīng)的鏡像的。
后續(xù)過了一會就好發(fā)現(xiàn)load進(jìn)來的openjdk 鏡像沒了。新打的鏡像也消失了。
原因分析:
我這里是通過度娘查到的原因,給出的大概幾個(gè)原因:
1. 磁盤空間管理:當(dāng)主機(jī)磁盤空間不足時(shí),Docker守護(hù)進(jìn)程可能會根據(jù)其內(nèi)部的垃圾回收策略自動刪除不再使用的鏡像以釋放空間。這通常會影響到那些沒有被任何容器引用的鏡像。
2. 手動或自動清理:用戶或系統(tǒng)管理員可能執(zhí)行了docker system prune、docker image
prune等命令來清理未使用的鏡像,這些命令會刪除所有 dangling(孤立)鏡像或者按照指定條件篩選出不再需要的鏡像并進(jìn)行刪除。
3.倉庫問題:如果鏡像是從遠(yuǎn)程倉庫(如 Docker Hub或私有倉庫)拉取的,并且后來該倉庫中的鏡像被刪除或者因?yàn)榫W(wǎng)絡(luò)原因?qū)е聼o法訪問,則在本地通過標(biāo)簽引用的鏡像可能無法正常pull和使用,看起來像是消失了。
4. 配置錯(cuò)誤或軟件故障:某些情況下,由于Docker本身的配置錯(cuò)誤、軟件bug或與其他系統(tǒng)服務(wù)沖突,可能會導(dǎo)致鏡像列表無法正確顯示或鏡像文件丟失。
5.系統(tǒng)故障或重啟:雖然不常見,但如果在操作系統(tǒng)層面發(fā)生故障,比如非正常關(guān)機(jī)或硬件故障,可能導(dǎo)致存儲在本地磁盤上的Docker鏡像數(shù)據(jù)損壞或丟失。
6. 意外操作:誤操作如直接刪除了鏡像所依賴的存儲文件,也會導(dǎo)致鏡像看似“消失”。
根據(jù)我這里的實(shí)際情況判斷,大概率是docker數(shù)據(jù)卷分配空間不足。
解決方案:
因?yàn)閐ocker 的垃圾回收策略只是回收未使用的鏡像,我這里就簡單的處理了一下,鏡像生成后,直接docker run 一下,這樣就不會被清理掉了。
當(dāng)然這里只是應(yīng)急處理。
正確方法應(yīng)該是增加磁盤空間。
或者禁用docker image prune自動化任務(wù): 如果你之前設(shè)置了定時(shí)任務(wù)或cron job來運(yùn)行docker system prune或其他清理命令,可以取消這些任務(wù)。
或者增大Docker數(shù)據(jù)卷的大?。?如果使用的是虛擬機(jī)環(huán)境,可以考慮增加分配給Docker的數(shù)據(jù)卷大小
到此這篇關(guān)于docker鏡像消失的問題及臨時(shí)解決方案的文章就介紹到這了,更多相關(guān)docker鏡像消失內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
搭建docker-nginx服務(wù),訪問nginx報(bào)錯(cuò)403問題及解決
這篇文章主要介紹了搭建docker-nginx服務(wù),訪問nginx報(bào)錯(cuò)403問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
用docker部署RabbitMQ環(huán)境的詳細(xì)介紹
這篇文章主要介紹了用docker部署RabbitMQ環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07
docker容器運(yùn)行成功但無法訪問的原因分析及解決方案(以Tomcat為例親測有效)
這篇文章主要介紹了docker容器運(yùn)行成功但無法訪問的原因分析及對應(yīng)解決方案(以Tomcat為例親測有效),文中通過圖文結(jié)合的方式介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-03-03
Docker 中快速安裝tensorflow環(huán)境的方法步驟
這篇文章主要介紹了Docker 中快速安裝tensorflow環(huán)境的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
Docker rocketmq部署的實(shí)現(xiàn)示例
最近學(xué)習(xí)使用 rocketmq,需要搭建 rocketmq 服務(wù)端,本文主要記錄 rocketmq 搭建過程以及這個(gè)過程踩到的一些坑,感興趣的可以了解一下2021-12-12
Docker出現(xiàn)Cannot connect to the Docker daemon. Is the docker d
這篇文章主要介紹了Docker出現(xiàn)Cannot connect to the Docker daemon. Is the docker daemon running on this host錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2016-12-12
Docker?Push?Skipped?foreign?layer?的錯(cuò)誤問題及解決方案
當(dāng)Docker推送基于Windows鏡像到私有倉庫的時(shí)候會遇到Skipped foreign layer的問題,這篇文章主要介紹了Docker?Push?Skipped?foreign?layer?的錯(cuò)誤問題及解決方案,需要的朋友可以參考下2022-05-05

