Docker Registry

Docker Registry。它是全部倉庫(包括共有和私有)以及工做流的中央Registry。 數據庫

有三個角色,分別是index、registry和registry client 安全

角色1 …… index spa

index 負責並維護有關用戶賬戶、鏡像的校驗以及公共命名空間的信息。它使用如下組件維護這些信息: 繼承


  1. Web UI
  2. 元數據存儲
  3. 認證服務
  4. 符號化

角色 2 --Registry token

registry是鏡像和圖表的倉庫。然而,它沒有一個本地數據庫,也不提供用戶的身份認證,由S三、雲文件和本地文件系統提供數據庫支持。此外,它經過Index Auth service的Token方式進行身份認證。Registries能夠有不一樣的類型。如今讓咱們來分析其中的幾中類型: 工作流


  1. Sponsor Registry:第三方的registry,供客戶和Docker社區使用。
  2. Mirror Registry:第三方的registry,只讓客戶使用。
  3. Vendor Registry:由發佈Docker鏡像的供應商提供的registry。
  4. Private Registry:經過設有防火牆和額外的安全層的私有實體提供的registry。

角色 3 --Registry Client 社區

Docker充當registry客戶端來負責維護推送和拉取的任務,以及客戶端的受權。
Docker Registry工做流程詳解。 cli

情景A:用戶要獲取並下載鏡像。所涉及的步驟以下: 命名空間

  1. 用戶發送請求到index來下載鏡像。
  2. index 發出響應,返回三個相關部分信息:
  3. 該鏡像所處的registry該鏡像包括全部層的校驗
  4. 該鏡像包括全部層的校驗
  5. 以受權爲目的的Token > 注意:當請求header裏有X-Docker-Token時纔會返回Token。而私人倉庫須要基本的身份驗證,對於公有倉庫這一點不是強制性的。
  6. 用戶經過響應後返回的Token和registry溝通,registry全權負責鏡像,它用來存儲基本的鏡像和繼承的層。
  7. registry如今要與index證明該token是被受權的。
  8. index會發送「true」 或者 「false」給registry,由此斷定是否容許用戶下載所須要的鏡像。

相關文章
相關標籤/搜索