一文搭建本地镜像仓

news/2025/1/20 23:14:38/文章来源:https://www.cnblogs.com/solicit/p/18680372

一文搭建本地镜像仓

拉取registry镜像

docker pull registry:2

运行registry容器

第1种方式:不加持久化

docker run -d -p 5000:5000 --restart=always --name=registry registry:2

第2种方式:对初始化配置文件,加持久化

# 创建数据卷,用于挂载
docker create volume registryvolume
docker run -d -p 5000:5000 --restart=always --name=registry -v registryvolume:/etc/docker/registry registry:2

推送镜像

docker push ubuntu:22.04

v2支持的所有端点

v2支持的所有端点

Method Path Entity Description
GET /V2/ Base 查看是否支持registry/v2
GET /v2/_catalog Catalog 查看所有的镜像仓库列表
GET /v2/<repository_name>/tags/list Tags 查看存储库中所有的镜像标签
GET /v2/<repository_name>/manifests/ Manifests 获取由摘要或者标签指向的信息
POST /v2/<repository_name>/manifests/ Manifests 上传由摘要或者标签指向的信息
DELETE /v2/<repository_name>/manifests/ Manifests 删除由摘要指向的信息
DELETE /v2/<repository_name>/blobs/ Blob 获取由摘要指向的blob
DELETE /v2/<repository_name>/blobs/ Blob 删除由摘要指向的blob

查询存储库

curl -X GET http://localhost:5000/v2/_catalog # 查看所有存储库
curl -X GET http://localhost:5000/v2/_catalog?n=1&last=ImageName # n为每一页的数量,last为一页中最后一个镜像名

img

获取特定镜像的manifests

curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -I -X GET http://localhost:5000/v2/ubuntu/manifests/22.04

如果拿到是v1版本信息,此时去删除镜像,会报404未找到
img
拿到v2版本信息如下图
img
Etag是一种Entity对象、HTTP响应头,提供资源的唯一标识符,通常用于缓存和验证机制,确保客户端资源是最新的。
Blob也是一种Entity对象,用于存储镜像的层或其它数据。blob的sha值,用于验证和去重。

根据digest删除特定镜像

curl -I -X DELETE http://localhost:5000/v2/ubuntu/manifests/sha256:34782402df238275b0bd100009b1d31c512d96392872bae234e1800f3452e33d

img

触发垃圾回收

触发垃圾回收,根据已删除的manifests信息,删除blob

docker exec -it registry /bin/registry garbage-collect /etc/docker/registry/config.yml

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/872373.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全局锁和表锁

根据加锁的范围可以将锁分为全局锁、表级锁和行锁三类 全局锁 顾名思义,全局锁就是对整个数据库实例加锁。MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会…

使用 电报机器人 tele bot 下载视频资源到nas群晖上

本文章解决:通过tele 手机APP 远程执行群晖上的命令 、 tdl使用效果图步骤1.创建teleg 机器人,省略,自己去百度2.下载git项目 ,修改你的ADMIN_ID和token 并运行dockefile2.1 下载 https://github.com/aikunzhe/TeleShellBot2.2 获取ADMIN_ID,获取机器人token,修改conf…

python 利用探空数据识别整层云

选用蔡淼的论文:[1]蔡淼,欧建军,周毓荃,等.L波段探空判别云区方法的研究[J].大气科学,2014,38(02):213-222. 里面的阈值法: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Time : 2025/1/20 23:22 @Author : Suyue @Email : 1493117872@qq.com @File : cl…

某Websocket反爬逆向分析+请求加解密+还原html

JS逆向分析Websocket,请求加解密,二进制消息解析网址 aHR0cHM6Ly93d3cueWR4Zi5nb3YuY24vTmV3cy9zaG93TGlzdC80L3BhZ2VfMS5odG1s 前言 工作中遇到的某websocket反爬,比混淆网站还恶心,看到也有其他人在问这个 之前看到其他大佬也弄过这个websocket反爬,但是只是说了下加解密…

Vulnhub DC-2

dc2Vulnhub DC-2 与DC1同样的思路,但是输ip跳转到dc-2,改host文件解决。 发现cms是WordPress。 得到flag1 Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.More passwords is always better, but sometimes you just can’t win th…

【PyTorch】使用回调和日志记录来监控模型训练

就像船长依赖仪器来保持航向一样,数据科学家需要回调和日志记录系统来监控和指导他们在PyTorch中的模型训练。 在本教程中,我们将指导您实现回调和日志记录功能,以成功训练模型。 一、理解回调和日志记录 回调和日志记录是PyTorch中有效管理和监控机器学习模型训练过程的基本…

TBtools的使用

转录本:由一条基因通过转录,由于可变剪切形成的一种或多种可供编码蛋白质的成熟mRNA。另外非编码RNA也可能有转录本的说法。 最长转录本:可变剪切一个基因得到多个序列长度不同的转录本,应选序列最长的进行数据分析。 CDS:蛋白质编码区,是与蛋白序列一一对应的DNA序列,不…

finalshell远程连接Centos虚拟机配置固定ip地址

为虚拟机Centos的远程连接软件Finalshell或者xshell等软件配置固定ip地址提示:然后全点确定,就好了,这里就不演示了输入指令vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=static #将ip设置为静态IPADDR="192.168.142.130" #静态ip地址,这个130是在0…

【scikit-opt库】智能算法开源库

这个开源库包含以下7个优化算法:网址:https://scikit-opt.github.io/ 使用文档:文档链接:https://scikit-opt.github.io/scikit-opt/#/en/README

【模拟电子技术】07-BJT特性曲线共射

【模拟电子技术】07-BJT特性曲线共射 我们要用三极管,那么就必须考虑输入和输出,即考虑输入特性曲线和输出特性曲线UCE固定,考虑UBE和IB的关系,就相当于一个PN结了!考虑多个变量的关系时,我们往往固定其他变量,然后看其中两个变量的关系,然后两两拿出来观察。三极管有三…

ssm日记04

发现springboot实在是太方便了,虽然还没有具体写过案例,不过直接免去一大堆配置真的太舒服了,明天会接着写案例,掌握是ssm整合springboot 这是学习一个小时的视频

ssm日记01

大前天 即2025.1.15-17学习了spring的前后台联合案例 就是springmvc的ssm整合包括异常处理的方法跟着敲了一边代码,不知道之后会不会使用或者说自己敲一遍,或许到自己跟着视频写案例才会使用到,或者说自己写一个小项目的时候才会用到 写这个异常处理受益匪浅,知道了从系统异…