Docker私有仓库操作----命令行
查看所有镜像
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私有仓库操作----命令行的更多相关文章
- docker私有仓库操作(搭建、运行、添加、删除)
目录 运行私有仓库 TIPS: 上传 把镜像放入私有仓库 验证 查看 TIPS: 垃圾回收 问题排查 参考:https://yeasy.gitbooks.io/docker_practice/cont ...
- Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
- Docker 私有仓库 Harbor registry 安全认证搭建 [Https]
Harbor源码地址:https://github.com/vmware/harborHarbort特性:基于角色控制用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限.基于镜像的复 ...
- 手把手教你搭建Docker私有仓库
章节一:centos7 docker安装和使用_入门教程 章节二:使用docker部署Asp.net core web应用程序 有了前面的基础,接下来的操作就比较简单了.先准备两台虚拟机,两台机器上都 ...
- Docker入门-搭建docker私有仓库
Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包括了数量超过15000个镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来使用. 注册登录 可 ...
- Ubuntu构建Docker私有仓库(Repository) 配置过程笔记
一.准备: 1.服务器(或者虚拟机2台,我的服务环境[ 阿里云服务器-Ubuntu 1804 +百度云-Ubuntu 1604]) 2.有效镜像(我这里以上一篇随笔镜像作为有效镜像https://w ...
- 构建Docker私有仓库
一.Docker私有仓库 上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像. 1.将镜像上传至 ...
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- 搭建docker私有仓库,建立k8s集群
服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...
- 在docker私有仓库如何查看有哪些镜像?
搭建了docker私有仓库,上传了一些镜像,时间长了就会忘了有哪些镜像,在网上查了,有大佬是通过脚本查看的,多厉害! #!/usr/bin/env python#-*- coding:utf-8 -* ...
随机推荐
- 2024-09-04:用go语言,给定一个长度为n的数组 happiness,表示每个孩子的幸福值,以及一个正整数k,我们需要从这n个孩子中选出k个孩子。 在筛选过程中,每轮选择一个孩子时,所有尚未选
2024-09-04:用go语言,给定一个长度为n的数组 happiness,表示每个孩子的幸福值,以及一个正整数k,我们需要从这n个孩子中选出k个孩子. 在筛选过程中,每轮选择一个孩子时,所有尚未选 ...
- AWS Data Analytics Fundamentals 官方课程笔记 - Intro, Volumn, Velocity
Intro process 就是 The process component is where services manipulate data into needed forms. 比如补齐 nul ...
- Ollama + JuiceFS:一次拉取,到处运行
今天这篇博客转载自我们的全栈工程师朱唯唯.在使用 Ollma 进行大模型加载时,她尝试使用了 JuiceFS 进行模型共享,JuiceFS 的数据预热和分布式缓存功能显著提升了加载效率,优化了性能瓶颈 ...
- webpack高版本抽离css样式报错[已解决]
全局安装的webpack版本是5.51.1,webpack-cli是4.9的版本; 本来想用 extract-text-webpack-plugin 的,但是报错了,查了一下文档 发现,已经不支持新版 ...
- CSS – rem, em, px
参考: 掘金 – 如何更愉快地使用em -- 别说你懂CSS相对单位 绝对值 vs 相对值 px, cm, mm 这些是绝对值. rem, em 是相对值. 绝对值就是最终的尺寸. 相对值的意思是它不 ...
- reinstall nodejs 后跑不到 command
现象 : node -v 可以跑 , ng new 这些就跑不到 (确保已经安装了 global cli) 那多半是 path 的问题 https://stackoverflow.com/questi ...
- MySQL及navicat安装破解
一.Navicat Premium15 下载安装包和破解工具 1.Navicat官网下载地址:http://www.navicat.com.cn/download/navicat-premium 2. ...
- Flutter 2.8 正式发布
文/ Tim Sneath,Flutter & Dart 产品经理 Flutter 已经更新到 2.8 正式版,发布了多项新特性和改进以不断改善移动和 Web 端的开发体验,同时也正在将桌面端 ...
- 能用到“退休”的 600条 Linux 命令,可以解决日常99%的问题~
1.基本命令 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 (SMBIOS / DMI) hdparm -i /dev/ ...
- linux overlay文件系统
一个 overlay 文件系统包含两个文件系统,一个 upper 文件系统和一个 lower 文件系统,是一种新型的联合文件系统.overlay是"覆盖-上面"的意思,overla ...