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 -* ...
随机推荐
- SQL Server使用脚本实现自动备份
因服务器安装的SQL Server版本不支持自动定时备份,需自行实现,大概思路为: 创建备份数据库的脚本 创建批处理脚本执行步骤一中的脚本 创建Windows定时任务执行步骤二中的脚本 1. 创建SQ ...
- effective-python-14
effective python-Item 14 list.sort函数,比较容易用的是reverse,而其中还有个参数key,默认是NONE,此时排序是按照默认比较方法排序,比如数据按照大小,字符串 ...
- EF Core – Owned Entity Types & Complex Types
前言 EF Core 8.0 推出了 Complex Types,这篇要来介绍一下. 由于它和 Owned Entity Types 傻傻分不清楚,加上我之前也没有写过 Owned Entity Ty ...
- JavaScript – CommonJS
前言 既然写了 JavaScript – ES Module, 也就顺便些 CommonJS 呗, 建议先看 ES Module 那篇. 参考 Youtube – Require vs Import ...
- Asp.net core 学习笔记 Secret 和 Data Protect Azure key-vault & Storage Account 第 2 篇
更新 30-04-2023 最新版本请看这 2 篇 ASP.NET Core – User Secret & Azure Key Vault 之前有写过 2 篇关于 key-vault 和 d ...
- 暑假集训CSP提高模拟7
这个 T1 的 \(n^{3}\) 的 SPJ 效率还是太慢了,膜拜 SPJ 大神学长,还会画画 A.Permutations & Primes 这题感觉挺水的但是感觉有不是那么水,主要还是因 ...
- [摘录] WebView2 与 JS 交互
https://docs.microsoft.com/zh-cn/microsoft-edge/webview2/gettingstarted/win32 步骤 5-脚本 托管应用还可以将 JavaS ...
- USB gadget驱动框架(五)
本节主要分析虚拟串口的tty设备的注册.创建/dev/ttyGSx设备节点.tty相关接口的实现. tty的申请与注册 源码:drivers/usb/gadget/function/u_serial. ...
- 高通pmic voter机制
前不久在高通 SDM450 平台接触了 voter 机制(投票机制).最近终于得空,结合一个问题简单研究了一下.现将研究流程简单记录一下,由于时间有限,所以是实用为目的,没有做详细的分析,不过结合着这 ...
- ADO.NET 连接数据库 【vs2022 + sqlServer】
using System.Data; using System.Data.SqlClient; namespace Zhu.ADO.NET { internal class Program { pri ...