docker?registry刪除遠程倉庫鏡像實現(xiàn)方式
當集群內(nèi)使用registry做為鏡像倉庫時,鏡像長期積累會導致本地和遠程倉庫鏡像占用大量的磁盤空間,這時我們需要對一些無用鏡像進行定期清理。
一、部署registry
1.1 開啟刪除功能
從registry容器里面將/etc/docker/registry/config.yml復制出來:
docker cp registry:/etc/docker/registry/config.yml ./config.yml
默認config.yml內(nèi)容如下:
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3設置config.yml,在storage節(jié)點添加delete配置設置為true。
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
delete:
enabled: true
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 312345678910111213141516171819201.2 啟動registry容器
docker run -it -d --name registry -p 5000:5000 -v /opt/registry/:/var/lib/registry -v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml --restart=always registry
1.3 查看鏡像名稱
curl -s -XGET localhost:5000/v2/_catalog | python -mjson.tool

1.4 查看鏡像tag
curl -s XGET localhost:5000/v2/test/tags/list|jq

1.5 查看鏡像reversion
ll /opt/registry/docker/registry/v2/repositories/test/_manifests/revisions/sha256/ #或者通過API獲取鏡像digest值 curl -i -sS -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' 'http://localhost:5000/v2/test/manifests/latest'

1.6 刪除鏡像
curl -X DELETE localhost:5000/v2/test/manifests/sha256:703c4d81c860a7420749f6666aac348e1b62a07062865dfb91d4c30819483e70
1.7 垃圾回收
docker exec -it 9658cbb01b13 registry garbage-collect /etc/docker/registry/config.yml
1.8 清除目錄
rm -rf /var/lib/docker/volumes/78c1937e0a8c810c8e4249d0245b4777ac4e66428519376712d99b811e559758/_data/docker/registry/v2/repositories/test_his_platform_global_api_2022-02-18-02-46
二、web-ui管理registry
docker hub 地址:https://hub.docker.com/r/hyper/docker-registry-web
2.1 部署docker-registry-web
docker pull hyper/docker-registry-web
(此配置中的任何屬性都可能被環(huán)境變量覆蓋,例如屬性registry.auth.enabled將變?yōu)镽EGISTRY_AUTH_ENABLED)
registry:
# Docker registry url
url: http://10.0.0.100:5000/v2
# Docker registry fqdn
name: localhost:5000
# To allow image delete, should be false
readonly: false
auth:
# Disable authentication
enabled: false使用 docker 運行
docker run -p 5000:5000 --name registry -d registry:2 docker run -it -p 8083:8080 --name registry-web --link registry -v $(pwd)/config.yml:/conf/config.yml:ro hyper/docker-registry-web
訪問http://localhost:8083

2.2 使用web ui刪除鏡像

總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
docker 部署prometheus+grafana的過程詳解
這篇文章主要介紹了docker 部署prometheus+grafana的過程,本文通過示例圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下2024-03-03
docker<容器數(shù)據(jù)卷-v>對容器內(nèi)數(shù)據(jù)持久化詳解(備份)
容器的數(shù)據(jù)持久化主要是指宿主機與容器,以及容器與容器之間進行數(shù)據(jù)交互,下面這篇文章主要給大家介紹了關于docker<容器數(shù)據(jù)卷-v>對容器內(nèi)數(shù)據(jù)持久化的相關資料,需要的朋友可以參考下2023-03-03
Windows10安裝WSL2 Ubuntu20.04并設置docker環(huán)境的方法
這篇文章主要介紹了Windows10安裝WSL2 Ubuntu20.04并設置docker環(huán)境的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05
解析docker妙用SpringBoot構建微服務實戰(zhàn)記錄
Spring Boot 是 Spring 開源組織的子項目,是 Spring 組件一站式解決方案,本文通過詳細案例給大家解析docker妙用SpringBoot構建微服務實戰(zhàn)記錄,感興趣的朋友跟隨小編一起看看吧2021-11-11

