解決registry私有倉庫空間清理問題
更新時間:2025年08月07日 14:25:35 作者:楠奕
Docker Registry因歷史鏡像堆積導(dǎo)致磁盤空間不足,需定期清理,通過執(zhí)行registry_garbage_collect.sh腳本及查看config.yml配置文件,可管理存儲策略,釋放占用空間
registry私有倉庫空間清理
docker registry中堆積的歷史鏡像數(shù)量極多,磁盤空間告急,為此,有必要定期做鏡像的清理,并釋放鏡像占用的存儲空間。

查看腳本registry_garbage_collect.sh
# cat registry_garbage_collect.sh
#!/bin/bash
set -e
#v2倉庫鏡像名稱
dockerConfPath=/data/install/app/registry/configyml
configFile=${dockerConfPath}/config.yml
#修改倉庫屬性設(shè)置為只讀
ansible registry192.168.246.10 -m shell -a "sed -i '14s/enabled: false/enabled: true/' ${configFile}"
ansible registry192.168.246.11 -m shell -a "sed -i '14s/enabled: false/enabled: true/' ${configFile}"
#重啟倉庫組件
ansible registry192.168.246.10 -m shell -a "docker restart pro-registry"
ansible registry192.168.246.11 -m shell -a "docker restart pro-registry"
#執(zhí)行倉庫垃圾回收
ansible registry192.168.246.10 -m shell -a "docker exec pro-registry registry garbage-collect /etc/docker/registry/config.yml"
#修改倉庫屬性設(shè)置為可寫
ansible registry192.168.246.10 -m shell -a "sed -i '14s/enabled: true/enabled: false/' ${configFile}"
ansible registry192.168.246.11 -m shell -a "sed -i '14s/enabled: true/enabled: false/' ${configFile}"
#重啟倉庫組件
ansible registry192.168.246.10 -m shell -a "docker restart pro-registry"
ansible registry192.168.246.11 -m shell -a "docker restart pro-registry"其中,246.10-11為倉庫所在的主機
倉庫名
pro-registry,即docker啟動registry鏡像時的鏡像名

查看configyml文件
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
delete:
enabled: true
maintenance:
readonly:
enabled: false
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何解決對Docker容器內(nèi)存限制警告或未實際限制的問題
這篇文章主要介紹了如何解決對Docker容器內(nèi)存限制警告或未實際限制的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
使用docker部署grafana+prometheus配置
這篇文章主要介紹了docker部署grafana+prometheus配置,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12
Ubuntu20.04上安裝docker步驟及docker使用方法
Docker是一個可以簡化容器中應(yīng)用程序進程管理過程的應(yīng)用程序,容器允許你在資源隔離的進程中運行應(yīng)用程序,這篇文章主要介紹了Ubuntu20.04上安裝docker步驟及docker使用的相關(guān)資料,需要的朋友可以參考下2026-04-04
docker start啟動容器后仍然exit狀態(tài)的解決
這篇文章主要介紹了docker start啟動容器后仍然exit狀態(tài)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
使用Docker搭建Apache Kafka環(huán)境的詳細過程
這篇文章主要介紹了使用Docker搭建Apache Kafka環(huán)境,本文使用Docker技術(shù)創(chuàng)建單個Kafka節(jié)點和Kafka集群環(huán)境,并且使用可視化工具連接服務(wù)查看代理服務(wù)器的配置信息,需要的朋友可以參考下2022-10-10

