Docker学习(6)——registry私有仓库工作原理(续)

前言

我们在前文中讲了如何搭建私有仓库,并且为私有仓库加密、添加简单的图形界面;因为篇幅限制,我们将在本文中补充registry工作原理

情景A:用户要获取并下载镜像。

在这里插入图片描述

情景A:具体工作流程如下:

  • 用户发送请求到index来下载镜像。
  • index 响应返回三个相关部分信息:
    该镜像位于的registry
    该镜像包括所有层的校验
    以授权目的Token
  • 用户通过响应中返回的Token和registry沟通,registry全权负责镜像,它存
    储基本的镜像和继承的层。
  • registry现在要与index证实该token是被授权的。
  • index会发送“true” 或者 “false”给registry,由此允许用户下载所需要的镜像。

情景B:用户要推送镜像到registry中。

在这里插入图片描述

情景B:具体工作流程如下:

  • 用户发送带证书请求到index要求分配库名。
  • 在成功认证,命名空间可用以及库名被分配之后。index响应返回临时的token。
  • 镜像连带token,一起被推送到registry中。
  • registry与index证实token,然后在index验证之后开始读取推送流。
  • 该index然后更新由Docker生成的镜像校验。

情景C:用户要从index或registry中删除镜像。

在这里插入图片描述
情景C:具体工作流程如下:

  • index接收来自Docker一个删除库的信号。
  • 如果index验证库成功,它将删除该库,并返回一个临时token。
  • registry现在接收到带有该token的删除信号。
  • registry与index核实该token,然后删除库以及所有相关信息。
  • Docker现在通知有关删除的index,然后index移除库的所有记录。

猜你喜欢

转载自blog.csdn.net/meltsnow/article/details/93192098