docker registry详解
首先列出docker registry官方API的地址:Registry API,然后还有使用手册:Docker Registry。
Docker Registry使用:
1、开始一个registry:
docker run -d -p 5000:5000 \
--name registry --restart=always \
-v 'pwd'/registry:/var/lib/registry \
registry:2
如果需要配置文件的话,则加上配置文件挂载。(config详细信息)
docker run -d -p 5000:5000 \
--name registry --restart=always \
-v 'pwd'/registry:/var/lib/registry \
-v 'pwd'/config.yml:/etc/docker/registry/config.yml \
registry:2
2、配置daemon.json,/etc/docker/daemon.json增加一行,然后systemctl restart docker:
{"insecure-registries": ["127.0.0.1:5000"]
}
3、上传一个镜像
先要给本地镜像重新tag,例如下面的test是待上传的镜像,localhost:5000/my_test是tag之后的
docker image tag test localhost:5000/my_test
然后docker push localhost:5000/my_test。
Registry API使用
1、查看API是否可用:curl -I -X GET localhost:5000/v2/,返回200 OK代表可用。
2、查看所有镜像:curl -X GET localhost:5000/v2/_catalog
3、获取一个镜像的manifest:
curl -I -X GET localhost:5000/v2/<name>/manifests/<reference>,
<name>代表镜像名,reference可以使用tag或digest。
4、查看一个镜像是否存在:
curl -I -X HEAD localhost:5000/v2/<name>/manifests/<reference>,会返回以下信息
200 OK
Content-Length: <length of manifest>
Docker-Content-Digest: <digest>
5、下载单个镜像层:
curl -X GET localhost:5000/v2/<name>/blobs/<digest>
6、删除一个镜像
curl -I -X DELETE localhost:5000/v2/<name>/manifests/<reference>,不过删除一个镜像需要加一个header,如下:
curl -I --header "Accept: application/vnd.docker.distribution.manifest.v2+json" -X DELETE localhost:5000/v2/<name>/manifests/<reference>.
同时还需要在配置中许可删除操作,修改配置文件,在storage下添加delete的许可
storage:delete:enabled: true
还有一些其他的,可以去看Registry API的文档
Registry存储细节
目录分为两层:blobs和repositories。
- blobs:镜像所有内容的实际存储,包括了镜像层和镜像元信息manifest。
- repositories是镜像元信息存储的地方,name代表仓库名称
- 每一个仓库下面又分为_layers、_manifests两个部分
- _layers负责记录该仓库引用了哪些镜像层文件
- _manifests负责记录镜像的元信息
- revisions包含了仓库下曾经上传过的所有版本的镜像元信息
- tags包含了仓库中的所有标签
- current记录了当前标签指向的镜像
- index目录则记录了标签指向的历史镜像
docker registry详解相关推荐
- 图形化管理工具Portaniner安 以及 Docker镜像详解(三)
文章目录 图形化管理工具Portaniner安装 Docker镜像详解 1 什么是镜像 2 Docker镜像加载原理 3 分层理解 提交镜像 常用容器部署 Nginx部署 图形化管理工具Portani ...
- 虚拟化技术之docker技术详解
文章目录 虚拟化技术之docker技术详解 关于作者 作者介绍 前言 虚拟化技术概述及简介 一 .什么是虚拟化技术? 二.常见的虚拟化技术有哪些? 2.1 KVM 虚拟化技术概念 2.2 ESXI 虚 ...
- Docker全面详解(二)
3. run运行流程图 4. 底层原理 4.1. Docker是怎么工作的 4.2. Docker为什么比VM快? 5. Docker的常用命令(重) 5.1. 帮助命令 5.2. 镜像命令(基础) ...
- Docker网络详解——原理篇
前言 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识.Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完 ...
- Docker入门详解
Docker详解 文章目录 一.Docker简介 1.1 Docker发展史 1.2 Docker的优点 1.3 传统虚拟化与容器的区别 1.3 Docker结构 二.Docker底层技术 2.1 N ...
- Docker网络资源详解 ---(四种网络模式)
文章目录 前言 一:Dcker网络资源详解 简单云平台生态环境图 普通单节点 桥接图 1.1:网络资源详解:Docker0网卡与四种网络模式 二 . Docker0网卡的解释 1. host模式 2. ...
- docker inspect 详解
一.功能介绍 docker inspect 会以 json 格式得到 docker 镜像/容器的元数据. 如下,查看mysql镜像的完整元数据: docker inspect mysql:5.7 [{ ...
- docker pull 详解
docker pull 用于从镜像仓库中拉取或更新指定镜像,用法如:docker pull centos ,默认是从 Docker Hub 中拉取镜像 在拉取镜像前,我们可以先配置 docker 加速 ...
- Docker 概念详解
本文转自: https://zhuanlan.zhihu.com/p/38552635 阅读本文大概需要15分钟,通过阅读本文你将知道一下概念: 容器 什么是Docker? Docker思想.特点 D ...
最新文章
- Linux运行cat进程,linux下如何使用某个用户启动某个进程?
- 谷歌推出TFQ,一个可训练量子模型的机器学习框架
- 微信小程序 textarea 简易解决方案
- 盐城工学院计算机考研高吗,信息学院计算机班计玮考取中南大学研究生
- 分布式图处理系统同步异步执行模式
- Android中应用百度地图API开发地图APP实例-显示百度地图
- QML编程之旅 -- 事件处理
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
- 【托管服务qin】WEB网站压力测试教程详解
- 第十届数据技术嘉年华活动彩蛋!
- 开发一款高端大气上档次的android应用需要必备的知识——记于2013年末
- Day46:数据库引擎、索引、pymysql
- 对象取值操作Object.values()
- 新手玩荔枝派 f1c100s nano折腾笔记(四)
- 使用itext把图片转成pdf文件,图片来自本地路径或者文件上传,输出pdf存在本地或者远程minio
- 数据结构——十大排序算法
- CF Edu 53D Berland Fair 暴力,取模
- HDU 4417 Super Mario(离线 + 树状数组)
- 大数据之路系列之Linux命令(01)
- vue vue-seamless-scroll 无缝滚动依赖