定時清理docker私服鏡像的方法
使用CI構(gòu)建docker鏡像進行發(fā)布極大促進了大家的版本發(fā)布效率,于是鏡像倉庫也就急速膨脹。為了緩解磁盤壓力,我們需要設(shè)置一些清理策略。
對于不同docker鏡像的清理策略應(yīng)該是不同的。比如,默認保留最近5個版本的鏡像,對于工具類的image保留全部,對于業(yè)務(wù)類的image保留一個月之類的。
簡單保留5個image的方式如下:
下載 https://github.com/mlabouardy/nexus-cli , 使用cli來執(zhí)行刪除。
下載
wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli chmod +x nexus-cli
配置
./nexus-cli configure
最終會在本目錄下創(chuàng)建.credentials 文件
# Nexus Credentials nexus_host = "http://nexus.demo.com" nexus_username = "admin" nexus_password = "adminpass" nexus_repository = "your-docker-private-repo"
注意,host填寫的nexus的host和端口,不是docker對應(yīng)的repo的端口。
nexus_repository
就是docker對應(yīng)的repo。
查看鏡像
./nexus-cli image ls
保留最近5個
./nexus-cli image delete -name mlabouardy/nginx -keep 5
綜合腳本
clean.sh
image_file=image.txt CLI_HOME=/data/nexus3 KEEP_VERSION_NUM=5 $CLI_HOME/nexus-cli image ls > $image_file sed -i '$d' $image_file cat $image_file | while read line do echo "清理$line" $CLI_HOME/nexus-cli image delete -name $line -keep $KEEP_VERSION_NUM done
定時任務(wù)
crontab -e 0 2 * * * sh /data/nexus3/clean.sh
創(chuàng)建nexus task
思考
前面提到,對應(yīng)不同的image,應(yīng)該選擇不同的保留策略的。當然不能直接保留5個。比如某個工具鏡像,雖然開發(fā)很勤快,但應(yīng)用的也許還是老版本。對于業(yè)務(wù)鏡像,一天發(fā)布了n次,添加了n個鏡像。怎么維護這些版本呢?
一個粗略的想法是,規(guī)范image名稱,比如tools-, biz-之類添加前綴。
分不同的repo。 對于工具類,單獨一個repo,業(yè)務(wù)自己一個repo,對不同的repo執(zhí)行不同的保留策略。
總結(jié)
以上所述是小編給大家介紹的定時清理docker私服鏡像的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
一次Docker中Redis連接暴增的問題排查實戰(zhàn)記錄
這篇文章主要給大家介紹了一次Docker中Redis連接暴增的問題排查的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-06-06Docker在CentOS7下不能下載鏡像timeout的解決辦法(圖解)
本文給大家記錄下Docker在CentOS7下不能下載鏡像timeout問題的解決方法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧2016-11-11docker搭建lnmp環(huán)境的實現(xiàn)步驟
DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一鍵安裝程序,本文就來介紹一下docker搭建lnmp環(huán)境的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2024-07-07Ubuntu 下通過 Docker 部署 NGINX 服務(wù)器的步驟詳解
今天分享如何在三豐云免費服務(wù)器上使用Docker部署NGINX服務(wù)器,Docker容器化平臺提升應(yīng)用可移植性,NGINX作為高性能HTTP和反向代理服務(wù)器,感興趣的朋友跟隨小編一起看看吧2025-02-02詳解如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理
有時因為網(wǎng)絡(luò)原因,比如公司 NAT,或其它啥的,需要使用代理,這篇文章主要為大家詳細介紹了如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理,需要的小伙伴可以跟隨小編一起學習一下2024-01-01