查看所有镜像

http://10.206.29.162:5000/v2/_catalog

{"repositories":["dashboard","glusterfs","kubernetes-dashboard-amd64","metrics-scraper","nacos-server","nginx"]}
查看单个镜像信息

http://ip:port/v2/image_name/tags/list

 浏览器访问 http://xxx.xxx.xxx.xxx:5000/v2/nginx/tags/list

{"name":"nginx","tags":["latest"]}
拉取镜像清单
http://xxx.xxx.xxx.xxx:5000/v2/nginx/manifests/latest

启动
docker run -d -v /app/registry:/var/lib/registry -p 5000:5000 -e REGISTRY_STORAGE_DELETE_ENABLED=true --restart=always --name registry registry:v1.0
删除

方案一:

用官方模块delete_docker_registry_image

1、添加 模块 delete_docker_registry_image

官方操作文档:https://github.com/burnettk/delete-docker-registry-image

2、删除之前需要先添加环境变量

[root@1a01vlb5970zzzz repositories]# cat /etc/profile|grep regis
export REGISTRY_DATA_DIR=/app/registry/docker/registry/v2

注意:如果需要远程删除,就需要在远程用户的HOME目录的.bashrc中添加需要的环境变量

delete_docker_registry_image --image wurstmeister/kafka
# 删除镜像之后如果不重启,重新上传会报层数据已存在,必须重启才能重新上传
systemctl restart docker

方案二:

# --header "Accept: application/vnd.docker.distribution.manifest.v2+json" 这个header 是必须要加的,不加的话Content-Type 是v1+prettyjws,获取的digest是错误的!!
headers = {'Accept':'application/vnd.docker.distribution.manifest.v2+json'}
url = "http://" + self.registry + "/v2/" + args['image_name'] +'/manifests/' + args['tag']
print(url)
getres =requests.get(url,headers=headers)
digest = getres.headers['Docker-Content-Digest']
deleteurl = "http://" + self.registry + "/v2/" + args['image_name'] +'/manifests/' + digest
delres = requests.delete(deleteurl,headers=headers)
print(delres.content)
print(delres.headers)
print(delres.status_code)

# 垃圾回收  
docker exec -it da33dd273367 bin/registry garbage-collect /etc/docker/registry/config.yml &>/dev/null
 

私有仓库删除后重新上传的问题

问题:重新上传报错层存在,并且查询私有仓库镜像发现没上传成功

[root@1a01vlb5970zzzz repositories]# delete_docker_registry_image --image nginx
INFO [2020-08-19 15:37:42,598] Deleting /app/registry/docker/registry/v2/blobs/sha256/23/231d40e811cd970168fb0c4770f2161aa30b9ba6fe8e68527504df69643aa145
INFO [2020-08-19 15:37:42,599] Deleting /app/registry/docker/registry/v2/blobs/sha256/18/189cce606b29fb2a33ebc2fcecfa8e33b0b99740da4737133cdbcee92f3aba0a
INFO [2020-08-19 15:37:42,599] Deleting /app/registry/docker/registry/v2/blobs/sha256/be/bee5d581ef8bfee2b5a54685813ba6ad9bbe922115d7aef84a21a9dbfcc2d979
INFO [2020-08-19 15:37:42,599] Deleting /app/registry/docker/registry/v2/blobs/sha256/00/000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c
INFO [2020-08-19 15:37:42,604] Deleting /app/registry/docker/registry/v2/blobs/sha256/eb/eb22865337de3edb54ec8b52f6c06de320f415e7ec43f01426fdafb8df6d6eb7
INFO [2020-08-19 15:37:42,609] Deleting /app/registry/docker/registry/v2/repositories/nginx
[root@1a01vlb5970zzzz repositories]# docker push 10.206.52.220:5000/nginx:latest
The push refers to repository [10.206.52.220:5000/nginx]
4fc1aa8003a3: Layer already exists
5fb987d2e54d: Layer already exists
831c5620387f: Layer already exists
latest: digest: sha256:189cce606b29fb2a33ebc2fcecfa8e33b0b99740da4737133cdbcee92f3aba0a size: 948
[root@1a01vlb5970zzzz repositories]# curl -X GET http://10.206.52.220:5000/v2/_catalog
{"repositories":["gluster/gluster-centos","kubernetesui/metrics-scraper","nacos-server","quay-mirror.qiniu.com/coreos/flannel","wurstmeister/kafka"]}

解决方案:

重启

systemctl restart docker
 

Docker私有仓库操作----命令行的更多相关文章

  1. docker私有仓库操作(搭建、运行、添加、删除)

    目录 运行私有仓库 TIPS: 上传 把镜像放入私有仓库 验证 查看 TIPS: 垃圾回收 问题排查 参考:https://yeasy.gitbooks.io/docker_practice/cont ...

  2. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...

  3. Docker 私有仓库 Harbor registry 安全认证搭建 [Https]

    Harbor源码地址:https://github.com/vmware/harborHarbort特性:基于角色控制用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限.基于镜像的复 ...

  4. 手把手教你搭建Docker私有仓库

    章节一:centos7 docker安装和使用_入门教程 章节二:使用docker部署Asp.net core web应用程序 有了前面的基础,接下来的操作就比较简单了.先准备两台虚拟机,两台机器上都 ...

  5. Docker入门-搭建docker私有仓库

    Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来使用. 注册登录 可 ...

  6. Ubuntu构建Docker私有仓库(Repository) 配置过程笔记

    一.准备: 1.服务器(或者虚拟机2台,我的服务环境[  阿里云服务器-Ubuntu 1804 +百度云-Ubuntu 1604]) 2.有效镜像(我这里以上一篇随笔镜像作为有效镜像https://w ...

  7. 构建Docker私有仓库

    一.Docker私有仓库   上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像. 1.将镜像上传至 ...

  8. 一步步搭建docker私有仓库并从私有仓库中下载镜像

    一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...

  9. 搭建docker私有仓库,建立k8s集群

    服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...

  10. 在docker私有仓库如何查看有哪些镜像?

    搭建了docker私有仓库,上传了一些镜像,时间长了就会忘了有哪些镜像,在网上查了,有大佬是通过脚本查看的,多厉害! #!/usr/bin/env python#-*- coding:utf-8 -* ...

随机推荐

  1. 【DVWA】安全测试工具之BurpSuite

    一.应用场景 二.安装软件 官网下载地址:https://portswigger.net/burp/releases 下载版本2021.7 注册机的 Github 项目地址:TrojanAZhen/B ...

  2. 【计算机视觉前沿研究 热点 顶会】ECCV 2024中目标检测有关的论文

    整值训练和尖峰驱动推理尖峰神经网络用于高性能和节能的目标检测 与人工神经网络(ANN)相比,脑激励的脉冲神经网络(SNN)具有生物合理性和低功耗的优势.由于 SNN 的性能较差,目前的应用仅限于简单的 ...

  3. FirewallD, iptables, Docker

    firewalld 是之前 iptables 的前端.命令更好用 FirewallD 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件 ...

  4. Spark - Pandas UDF

    spark 本身对 dataframe 的操作支持没有像pandas 那样强大,所有我们可以把spark dataframe 转化成 pandas dataframe 来利用pandas datafr ...

  5. MDC – Text field

    前言 Angular Material 只有 Form field, 但 Material Design 有份 Text field 和 Form field, Form field 是给 check ...

  6. [OI] 指针与迭代器

    取地址与解引用 一般来说,我们有一个取地址符 & 可以返回该变量的地址. int main(){ int a; cout<<&a; } 0x6ffe1c 如果我们现在有一个 ...

  7. composer 执行脚本时报错:Error: You made a reference to a non-existent script @php artisan package:discover

    composer 执行脚本时报错:Error: You made a reference to a non-existent script @php artisan package:discover. ...

  8. form data 与request payload的区别以及php接收这些数据的方法

    form data 与request payload的区别以及php接收这些数据的方法 以前与前端交互一直都是POST.GET的,PHP端就直接$_POST,$_GET来接收,从来没有出现过以外. 最 ...

  9. 使用DeepKE训练命名实体识别模型DEMO(官方DEMO)

    使用DeepKE训练命名实体识别模型DEMO(官方DEMO) 说明: 首次发表日期:2024-10-10 DeepKE资源: 文档: https://www.zjukg.org/DeepKE/ 网站: ...

  10. 什么是 RBAC 权限控制

    RBAC是Role Based Access Control的英文缩写,意思是 基于角色的访问控制. RBAC实际上就是针对产品去挖掘需求时所用到的Who(角色).What(拥有什么资源).How(有 ...