`
m635674608
  • 浏览: 5028037 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

DockerRegistryV2删除镜像

 
阅读更多

使用版本

测试版本: registry-2.4.1

镜像删除步骤

1、通过 /v2/<镜像名称>/manifests/<tag>的方式获取镜像的digest
注意获取的请求头中需要加
Accept: application/vnd.docker.distribution.manifest.v2+json
否则获取不到正确的digest(虽然也能够获取到一个digest,但是之后的删除操作会失败)
没加那个header值导致失败的返回值是:
404{"errors":[{"code":"MANIFEST_UNKNOWN","message":"manifest unknown"}
2、删除镜像
DELETE /v2/<name>/manifests/<reference>

ps:我因为有加认证的服务,所以获取digest和删除操作之前都会去认证服务获取token才能操作。

删除时容易出现的问题

1、镜像删除不完整,只有manifests被删除了 ,详细见:https://github.com/docker/distribution/issues/1755
2、未在registry的配置文件中配置
 

delete:

enabled:true

完整问题参见:http://dockone.io/question/883
 
3、registry 配置可能出现的问题,参考官网配置文件介绍: https://docs.docker.com/registry/configuration/#delete
4、镜像无法完全被删除,删除的只是tag信息以及相关联的manifest实际通过_catlog获取该镜像的repository还是存在的。
但是查询tag确实不存在被删除的tag信息了。(如果要删除这个目录,估计只能手动删除文件目录了,不过这样会导致相关联的layer被破坏)

 官网介绍

 

Deleting an Image

 

 通过namereference删除镜像.删除的api为如下(DELETE方式,而不是post 或者get):

DELETE /v2/<name>/manifests/<reference>

对于删除, reference必须是镜像的digest否则会失败. 假如存在镜像并且被成功删除,则返回如下响应(response)

202 Accepted
Content-Length: None

实际测试返回(使用postman): 

Status 202 Accepted

返回值body :(空)

返回值headers:

 

Content-Length →0
Content-Type →text/plain; charset=utf-8
Date →Thu, 03 Nov 2016 09:16:19 GMT
Docker-Distribution-Api-Version →registry/2.0
X-Content-Type-Options →nosniff

 

假如镜像已经被删除,则响应http状态为: 404 Not Found  

注意 删除manifest时,版本是2.3或者更高版本,通过HEAD或者GET方式获取digest时候需要在请求头header中加如下请求头(否则会删除失败):

Accept: application/vnd.docker.distribution.manifest.v2+json

http://blog.csdn.net/ismr_m/article/details/53023515
分享到:
评论

相关推荐

    Harbor 2.0版本API删除镜像【亲测,有效!】

    通过Harbor api获取项目名、仓库名、镜像名和镜像tag,交互删除需要删除的镜像

    openstack的qcow2格式的可用镜像

    包含qcow2格式的镜像,无需自己重新制作,离线情况下制作镜像非常繁琐,镜像包括windows_server_2012_r2_x64.qcow2.tar win7.qcow2.tar.gz windows_server_2008_r2_x64.qcow2.tar virtio驱动 ubuntu14.04.3_server....

    winServer2012R2系统镜像ISO【中文版】

    winServer2012R2系统镜像ISO

    centos7.5-2009.qcow2镜像

    centos7.5-2009.qcow2镜像

    香橙派zero2w系统镜像烧录

    2. **安全删除并格式化SD卡**:在开始之前,确保SD卡未被其他程序占用,然后使用磁盘管理工具将其格式化为FAT32格式,这是大多数Linux发行版所期望的。 3. **验证镜像文件**:使用`.sha`文件检查`img`镜像文件的...

    UNIX做系统镜像与删除镜像

    以下将详细解释如何创建和删除系统镜像,以及在过程中可能遇到的问题。 首先,创建系统镜像通常涉及以下几个步骤: 1. **创建可启动的LVM盘**:使用`pvcreate`命令初始化物理卷(PV),例如`pvcreate -B -f /dev/...

    Windows Server 2012 R2 镜像SXS下载.zip

    2. 输入以下命令来启用.NET Framework 3.5: ``` dism /online /enable-feature /featurename:NetFX3 /All /Source:x:\sources\sxs /LimitAccess ``` 这里的“x:”代表你的Windows Server 2012 R2安装ISO镜像的...

    pynqz2镜像v2.5版本

    1.注意: ... 由于文件不能大于1g,所以只好这样 我设置的是永久的分享,一般没什么问题。...2.资源描述: ...pynqz2镜像v2.5版本,仅限pynqz2使用 亲自试过没问题,该版本可在pynq内配置DPU,高速实现神经网络部署

    yaffs2镜像工具

    **yaffs2镜像工具详解** YAFFS2(Yet Another Flash File System 2)是一种专门为嵌入式系统设计的文件系统,特别是在闪存设备上广泛应用,例如Android系统的存储管理就广泛使用了YAFFS2。在Windows平台上,由于...

    centos7系统qcow2镜像下载链接

    ### CentOS 7 系统 QCOW2 镜像下载及使用详解 #### 一、CentOS 7 系统简介 CentOS 是一个基于 Linux 的开源操作系统,它完全兼容 Red Hat Enterprise Linux (RHEL)。CentOS 7 作为当前广泛使用的版本之一,为用户...

    国内镜像一键装AI工具:Diffusion WebUI、LamaCleaner、ChatGLM2等

    国内镜像一键装AI工具:Diffusion WebUI、LamaCleaner、ChatGLM2等国内镜像一键装AI工具:Diffusion WebUI、LamaCleaner、ChatGLM2等国内镜像一键装AI工具:Diffusion WebUI、LamaCleaner、ChatGLM2等国内镜像一键装...

    麒麟qcow2镜像v10版本操作系统下载

    国产麒麟系统qcow2格式的v10操作系统,主要用于openstack上。 安装方法不用我说了把,该镜像下载下来以后的使用方法文档中有说明的。 照着弄即可 ,有问题私信。

    CentOS7镜像qcow2下载

    CentOS7的镜像qcow2格式的下载,可以通过平台进行直接添加,也可用虚拟机平台软件安装添加,支持virtualbox,vmware Station等。

    本地docker镜像仓库 registry:2 镜像

    当没有第三方docker 仓库,可以使用registry 生成一个本地的docker仓库 使用docker load 导入镜像

    Windows Server 2012 R2 镜像SXS下载

    解决Windows Server 2012 R2 下无法安装dnet3.5,需要Windows Server 2012 R2 镜像SXS加载。 Windows Serv SXS dnet3.5

    SQL Server 2008 R2数据库镜像部署

    每当主体服务器上发生事务操作(如插入、更新、删除),这些操作的日志会被实时发送至镜像服务器,镜像服务器接收并应用这些日志,以保持与主体数据库的一致性。这一过程在物理日志记录级别进行,确保了数据的实时...

    pynq-z2 v2.5 镜像 image fpga xilinx官方镜像

    保证能用 下载后解压,用Win32DiskImage写入SD卡即可 由于只能上传小于1kMb的资源,下载内容为百度网盘连接,永久有效 有问题可私聊

    群晖镜像二合一镜像及DSM

    2. 数据卷管理: 在二合一镜像中,数据卷已经预先配置好,可能包含RAID阵列,如RAID 0、1、5、6或 SHR(Synology Hybrid RAID)。这些阵列提供了不同的数据冗余和性能选项,用户可以根据自身需求选择合适的RAID类型...

    kubernetes kube2sky_docker镜像文件

    kubernetes kube2sky_docker镜像文件

    删除数据库镜像

    在IT领域,尤其是在数据库管理与维护中,"删除数据库镜像"是一个专业且重要的操作步骤。本文将基于给定的文件信息,详细解析如何在SQL Server环境中移除数据库镜像,包括其背景、原理以及具体执行步骤。 ### 背景与...

Global site tag (gtag.js) - Google Analytics