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 -* ...
随机推荐
- Ubuntu 更换 macOS Big Sur 主题
我们很多人使用 Mac 的原因之一是 macOS 是最像 Linux 的操作系统(bushi),而 macOS 精美的图形界面又让我们欲罢不能.那么能不能将 macOS 的图形界面搬到 Linux 上 ...
- LLM大模型基础知识学习总结
大家好,我是Edison. 在这个已经被AI大模型包围的时代,不了解一点大模型的基础知识和相关概念,可能出去聊天都接不上话.刚好近期我也一直在用GPT和GitHub Copilot,也刚好对这些基础知 ...
- 【YashanDB数据库】yasql登录有特殊字符@导致无法登录
问题备机 Linux bash shell环境下,使用yasql登录数据库没有使用转义导致登录失败.报错信息如下 问题分析 linux特殊字符转义问题,多加几层转义可以解决问题. 解决办法 su - ...
- 【YashanDB知识库】23.1.3.101版本创建物化视图coredump
[标题]23.1.3.101版本创建物化视图coredump [问题分类]数据库错误 [关键词]YashanDB, 物化视图, coredump, dblink [问题描述]在23.1.3.101版本 ...
- GitHub Copilot 典型使用场景实践
大家好,我是Edison. 近期我们一直在使用GitHub Copilot协助开发编码工作,总结了一些实际场景的用法,可能在目前网络中很多的博客中都没有提及到,本文一一分享给你. 简介:你的结对编程伙 ...
- JavaScript – Async Iterator & Generator
前言 要看懂这篇请先看下面几篇 JavaScript – Iterator JavaScript – Generator Function JavaScript – Promise JavaScrip ...
- Vue3——集成 sass
安装 sass npm install sass sass-loader -D 使用 scss 语法!!!需要加上 lang="scss" <style scoped lan ...
- [TK] HH的项链 离线树状数组解法
实际上这题很难和树状数组联系起来,我感觉效率也不是很高,感觉不是正解 怎么使用树状数组 这道题我们很容易想到一点:同种物品在一个区间内只能出现一次,先不考虑别的问题,我们想出下面这种使用树状数组的思路 ...
- 【赵渝强老师】MySQL高可用架构:MHA
MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 master 节 ...
- 北京智和信通亮相2023IT运维大会,共话数智浪潮下自动化运维新生态
2023年9月21日,由IT运维网.<网络安全和信息化>杂志社联合主办的"2023(第十四届)IT运维大会"在北京成功举办.大会以"以数为基 智引未来&quo ...