docker 私有仓库的镜像删除

目录

        • 获取token
          • 1. base64 用户名 密码
          • 2. 先请求要请求的接口
          • 3. 请求接口 auth
          • 4. 拿着 token, 去请求接口
        • 请求 tag 列表接口
          • 1. 去请求token
          • 2. 拿着token去请求 镜像 tag 列表
        • 删除镜像
          • 1. 先获取镜像 tag 的 sha256
          • 2. 删除镜像
      • 错误: `{"errors":[{"code":"MANIFEST_UNKNOWN","message":"OCI index found, but accept header does not support OCI indexes"}]}` 解决办法

获取token
1. base64 用户名 密码
echo -n <你的用户名>:<你的密码> | base64
# 得到的字符串是: dXNlcm5tYWU6cGFzc3dvcmQ=
2. 先请求要请求的接口

比如我向获取所有镜像列表接口 http://127.0.0.1:5000/v2/_catalog

curl -i -X GET 'http://127.0.0.1:5000/v2/_catalog'

返回的 header 头里有 Www-Authenticate: Bearer realm="https://127.0.0.1:4000/auth",service="Registry",scope="registry:catalog:*"

  • realm: 需要取 这个接口里获取 token
  • service, scope 是查询参数
3. 请求接口 auth

以上面的 Www-Authenticate 信息为例子

# url 最好用 引号括住
curl -i -H'Authorization: Basic dXNlcm5tYWU6cGFzc3dvcmQ=' -X GET 'http://127.0.0.1:4000/auth?service=Registry&scope=registry:catalog:*'
# 返回的数据如下
{"access_token": "aaaa.bbbb.cccc", "token": "aaaa.bbbb.cccc"}
# access_token 跟 token 字段里的值是一样的
4. 拿着 token, 去请求接口
curl  -i -H"Authorization: Bearer aaaa.bbbb.cccc"  'http://127.0.0.1:5000/v2/_catalog'# 返回结果
{"registry": ["aaa/bbbb"]}
请求 tag 列表接口

aaa/bbbb 是镜像

1. 去请求token
# 注意查询参数里的  scope
curl -i -H'Authorization: Basic dXNlcm5tYWU6cGFzc3dvcmQ=' -X GET 'http://127.0.0.1:4000/auth?service=Registry&scope=registry:aaa/bbbb:pull'

每次请求接口的 scope 不一样 都需要去请求一次 token 接口

2. 拿着token去请求 镜像 tag 列表
curl -i  -H "Authorization:  Bearer dddd.eeee.ffff" 'http://127.0.0.1:5000/v2/aaa/bbbb/tags/list'{"name":"aaa/bbbb","tags":["v1.0.2","v1.0.3"]}
删除镜像
1. 先获取镜像 tag 的 sha256
curl -i  -H "Authorization: Bearer aaa.bbb.ccc" -H "Accept: application/vnd.oci.image.manifest.v1+json" -H "Accept: application/vnd.oci.image.index.v1+json"  'http://127.0.0.1:5000/v2/aaa/bbbb/manifests/v1.0.2'
# 返回值
HTTP/1.1 200 OK
Content-Length: 529
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Docker-Content-Digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc"

注意 header 头都需要,必需加全
header 头里的 sha256 在删除的时候需要

2. 删除镜像
curl -i -XDELETE -H "Authorization:  Bearer aaaa.bbbbb.cccc"   'http://127.0.0.1:5000/v2/aaa/bbbb/manifests/sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc'
# 返回 202 状态码,表示成功了

错误: {"errors":[{"code":"MANIFEST_UNKNOWN","message":"OCI index found, but accept header does not support OCI indexes"}]} 解决办法

解决办法: curl 请求的时候加上 header头: -H "Accept: application/vnd.oci.image.manifest.v1+json" -H "Accept: application/vnd.oci.image.index.v1+json"

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

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

相关文章

Web3.0 应用项目

Web3.0 是下一代互联网的概念&#xff0c;旨在去中心化、用户拥有数据控制权和通过区块链技术实现信任的网络。Web3.0的应用项目主要集中在区块链、加密货币、去中心化应用 (DApps)、去中心化金融 (DeFi)、NFT&#xff08;非同质化代币&#xff09;等领域。以下是一些典型的 We…

深度学习自编码器 - 分布式表示篇

序言 深度学习作为人工智能领域的重要分支&#xff0c;其核心在于表示学习&#xff08; Representation Learning \text{Representation Learning} Representation Learning&#xff09;&#xff0c;尤其是分布式表示&#xff08; Distributed Representation \text{Distribut…

pyqt QGraphicsView 以鼠标为中心进行缩放

注意几个关键点&#xff1a; 1. 初始化 class CustomGraphicsView(QGraphicsView):def __init__(self, parentNone):super(CustomGraphicsView, self).__init__(parent)self.scene QGraphicsScene()self.setScene(self.scene)self.setGeometry(0, 0, 1024, 600)# 以下初始化…

netty之基础aio,bio,nio

前言 在Java中&#xff0c;提供了一些关于使用IO的API&#xff0c;可以供开发者来读写外部数据和文件&#xff0c;我们称这些API为Java IO。IO是Java中比较重要知识点&#xff0c;且比较难学习的知识点。并且随着Java的发展为提供更好的数据传输性能&#xff0c;目前有三种IO共…

Go基础学习06-Golang标准库container/list(双向链表)深入讲解;延迟初始化技术;Element;List;Ring

基础介绍 单向链表中的每个节点包含数据和指向下一个节点的指针。其特点是每个节点只知道下一个节点的位置&#xff0c;使得数据只能单向遍历。 示意图如下&#xff1a; 双向链表中的每个节点都包含指向前一个节点和后一个节点的指针。这使得在双向链表中可以从前向后或从后…

无人机之数据提取篇

一、无人机平台与传感器 无人机是进行数据采集的基础设施&#xff0c;其稳定性、可靠性、灵活性和负载能力直接影响到数据采集的效果。根据实际需求&#xff0c;需选择适合的无人机类型&#xff0c;如固定翼无人机适合大范围、长时间的数据采集&#xff0c;而多旋翼无人机则更适…

Redis 实现分布式锁时需要考虑的问题

引言 分布式系统中的多个节点经常需要对共享资源进行并发访问&#xff0c;若没有有效的协调机制&#xff0c;可能会导致数据竞争、资源冲突等问题。分布式锁应运而生&#xff0c;它是一种保证在分布式环境中多个节点可以安全地访问共享资源的机制。而在Redis中&#xff0c;使用…

HTML基础用法介绍一

VS code 如何快速生成HTML骨架注释是什么&#xff1f;为什么要写注释&#xff1f;注释的标签是什么&#xff1f;标题标签段落标签换行标签与水平线标签 (都是单标签&#xff09;文本格式化标签图片标签超链接标签音频标签视频标签 &#x1f698;正片开始 VS code 如何快速生成…

基于Spring框架的分层解耦详解

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;Java Web关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Java Web 三层架构&#xff1a; Java Web可以大致被分为三层架构&#xff1a;…

怎么在Vue3项目中引入Vant组件库并使用?

文章目录 前言一、项目中使用步骤1.安装&#xff1a;2.样式的导入&#xff08;2种方法&#xff09;2.1 main.ts全局导入&#xff08;平常自己的项目用的这个全局&#xff09;2.2 按需引入组件样式 (简单介绍一下)1.安装插件2.配置插件 3.组件按需使用&#xff1a;App.vue 总结 …

5QI(5G QoS Identifier)

5QI&#xff08;5G QoS Identifier&#xff0c;5G 服务质量标识符&#xff09;是在5G网络中用于定义特定数据流所需服务级别的指标。它用于优先处理流量&#xff0c;并根据流量的类型及其特定需求分配网络资源。5QI值从1到255&#xff0c;每个值对应一组QoS参数&#xff0c;这些…

数据结构和算法基础(一)

文章目录 链表反转链表合并删除链表倒数第 n 个结点找链表的中间结点链表中环的检测排序算法递归 趁空闲时间刷一遍极客时间上王争的《数据结构与算法之美》课程&#xff0c;个人觉得写的很好&#xff0c;每章节由浅入深且从基础到引入设计类问题&#xff0c;如果写过很多代码想…

成都睿明智科技有限公司抖音电商服务靠谱吗?

在这个电商风起云涌的时代&#xff0c;抖音作为短视频直播的超级流量池&#xff0c;正深刻改变着人们的购物习惯。无数商家蜂拥而至&#xff0c;渴望在这片蓝海中找到属于自己的岛屿。而提及抖音电商服务&#xff0c;成都睿明智科技有限公司无疑是一个备受瞩目的名字。那么&…

WebSocket 在 Spring Boot 中的高级应用指南

WebSocket 在 Spring Boot 中的高级应用指南 深入理解WebSocket协议 深入理解STOMP协议 1. 概述 WebSocket 是一种基于 TCP 的全双工通信协议&#xff0c;允许服务器和客户端之间进行持续的双向通信。与传统的 HTTP 请求-响应模型不同&#xff0c;WebSocket 是一个持久的连接…

Linux 进程的基本概念及描述

目录 0.前言 1. 什么是进程 1.1 进程的定义与特性 1.2 进程与线程的区别 2.描述进程 2.1 PCB (进程控制块) 2.2 task_struct 3.查看进程 3.1 查看进程信息 3.1.1 /proc 文件系统 3.1.2 ps 命令 3.1.2 top 和 htop 命令 3.2 获取进程标识符 3.2.1使用命令获取PID 3.2.2 使用C语言…

微信小程序数据操作指南:从绑定到更新

微信小程序数据操作指南&#xff1a;从绑定到更新 在微信小程序开发中&#xff0c;数据操作是核心环节之一。微信小程序提供了一系列简洁而强大的数据操作方法&#xff0c;帮助开发者轻松实现数据的绑定、更新和渲染。本文将详细介绍微信小程序中常用的数据操作方法&#xff0…

加密与安全_HTOP 一次性密码生成算法

文章目录 HOTP 的基础原理HOTP 的工作流程HOTP 的应用场景HOTP 的安全性安全性增强措施Code生成HOTP可配置项校验HOTP可拓展功能计数器&#xff08;counter&#xff09;计数器在客户端和服务端的作用计数器的同步机制客户端和服务端中的计数器表现服务端如何处理计数器不同步计…

AIGC学习笔记—minimind详解+训练+推理

前言 这个开源项目是带我的一个导师&#xff0c;推荐我看的&#xff0c;记录一下整个过程&#xff0c;总结一下收获。这个项目的slogan是“大道至简”&#xff0c;确实很简。作者说是这个项目为了帮助初学者快速入门大语言模型&#xff08;LLM&#xff09;&#xff0c;通过从零…

vue3学习记录-computed

vue3学习记录-computed 1.为什么要用computed2.使用方法2.1 基本实例2.2 可写计算属性 1.为什么要用computed 写个购物车的案例 <script setup> import { ref, reactive,computed } from "vue" const tableData reactive([{ name: 商品1, price: 10, num: 1…

3. 轴指令(omron 机器自动化控制器)——>MC_MoveRelative

机器自动化控制器——第三章 轴指令 5 MC_MoveRelative变量▶输入变量▶输出变量▶输入输出变量 功能说明▶指令详情▶时序图▶重启运动指令▶多重启动运动指令▶异常 MC_MoveRelative 指定自指令当前位置起的移动距离&#xff0c;进行定位。 指令名称FB/FUN图形表现ST表现MC…