知道什么是docker index服务就看这里
index顾名思义“索引”,index服务主要提供镜像索引以及用户认证的功能。当下载一个镜像的时候,如下图所示,首先会去index服务上 做认证,然后查找镜像所在的registry的地址并放回给docker客户端,最终docker客户端再从registry下载镜像,当然在下载过程中 registry会去index校验客户端token的合法性。不同镜像可以保存在不同的registry服务上,其索引信息都放在index服务上。 |
docker仓库 的实现,有两种运行模式
(1)standalone=true:在这种模式下,仓库自身提供了简单的index服务,在实现过程中index只是实现了简单的索引功能,没有实现用户认证功能
(2)standalone=false:在这种模式下,需要配置index的服务访问点,需自行实现index服务
index服务对外提供的接口
index对外提供的REST API接口如下:
PUT /v1/repositories/(namespace)/(repo_name)/
在docker push的流程中会调用到,其作用是创建一个repository。创建之前会对用户密码以及权限进行验证,如果合法,则最终会返回一个token至docker客户端
DELETE /v1/repositories/(namespace)/(repo_name)/
删除一个repository,删除之前会对用户密码以及权限进行验
PUT /v1/repositories/(namespace)/(repo_name)/images
在docker push流程中会调用到,其作用是更新repository对应的image列表,更新之前会校验携带的token
GET /v1/repositories/(namespace)/(repo_name)/images
在docker pull流程中会调用到,其作用是获取repository对应的image列表。获取之前会对用户密码以及权限进行验证
PUT /v1/repositories/(namespace)/(repo_name)/auth
校验token的合法性
GET /v1/users/
docker login会调用到此接口,用来验证用户的合法性
POST /v1/users/
docker login会调用到此接口,可用来创建一个用户
PUT /v1/users/username/
用来更新用户信息
各个接口的请求的具体Header、Action、Response,可参考 这里(https://docs.docker.com/reference/api/docker-io_api/)
本文来自博客园,作者:linux_pro,转载请注明原文链接:https://www.cnblogs.com/linuxpro/p/17750602.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!