<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Docker入門教程(四)Docker Registry > 【編者的話】DockerOne組織翻譯了Flux7的Docker入門教程,本文是系列入門教程的第四篇,介紹了Docker Registry,它是Docker中的重要組件。本文通過情景演繹的方式對其進行了介紹,圖文并茂,強烈推薦讀者閱讀。 在[Docker系列教程的上一篇文章](http://dockerone.com/article/103)中,我們討論了Dockerfile的重要性并提供了一系列Dockerfile的命令,使鏡像的自動構建更加容易。在這篇文章中,我們將介紹Docker的一個重要組件:Docker Registry。它是所有倉庫(包括共有和私有)以及工作流的中央Registry。在深入Docker Registry之前,讓我們先去看看一些常見的術語和與倉庫相關的概念。 1. Repositories(倉庫)可以被標記為喜歡或者像書簽一樣標記起來 2. 用戶可以在倉庫下評論。 3. 私有倉庫和共有倉庫類似,不同之處在于前者不會在搜索結果中顯示,也沒有訪問它的權限。只有用戶設置為合作者才能訪問私有倉庫。 4. 成功推送之后配置[webhooks](http://www.wikiwand.com/en/Webhook)。 Docker Registry有三個角色,分別是index、registry和registry client。 角色 1 -- Index? `index`?負責并維護有關用戶帳戶、鏡像的校驗以及公共命名空間的信息。它使用以下組件維護這些信息: * Web UI * 元數據存儲 * 認證服務 * 符號化 這也分解了較長的URL,以方便使用和驗證用戶存儲庫。 角色 2 --Registry `registry`是鏡像和圖表的倉庫。然而,它沒有一個本地數據庫,也不提供用戶的身份認證,由S3、云文件和本地文件系統提供數據庫支持。此外,通過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工作流程詳解 現在,讓我們討論五種情景模式,以便更好地理解Docker Registry。 情景A:用戶要獲取并下載鏡像。所涉及的步驟如下: 1. 用戶發送請求到index來下載鏡像。 2. index 發出響應,返回三個相關部分信息: * 該鏡像所處的registry * 該鏡像包括所有層的校驗 * 以授權為目的的Token?> 注意:當請求header里有X-Docker-Token時才會返回Token。而私人倉庫需要基本的身份驗證,對于公有倉庫這一點不是強制性的。 3. 用戶通過響應后返回的Token和registry溝通,registry全權負責鏡像,它用來存儲基本的鏡像和繼承的層。 4. registry現在要與index證實該token是被授權的。 5. index會發送“true” 或者 “false”給registry,由此判定是否允許用戶下載所需要的鏡像。 ![](https://box.kancloud.cn/235138da76b7ff81d04733649a2dfa26_602x334.png) 情景B:用戶想要將鏡像推送到registry中。其中涉及的步驟如下: 1. 用戶發送附帶證書的請求到index要求分配庫名。 2. 在認證成功,命名空間可用之后,庫名也被分配。index發出響應返回臨時的token。 3. 鏡像連帶token,一起被推送到registry中。 4. registry與index證實token被授權,然后在index驗證之后開始讀取推送流。 5. 該index由Docker校驗的鏡像更新。 ![](https://box.kancloud.cn/f53999f16dc87b7fffdbed2fc8b71e34_599x329.png) 情景C:用戶想要從index或registry中刪除鏡像: 1. index接收來自Docker一個刪除庫的信號。 2. 如果index對庫驗證成功,它將刪除該庫,并返回一個臨時的token。 3. registry現在接收到帶有該token的刪除信號。 4. registry與index核實該token,然后刪除庫以及所有與其相關的信息。 5. Docker現在通知有關刪除的index,然后index移除庫的所有記錄。 ![](https://box.kancloud.cn/a0aeaa8d9e2c917fca8b47e78e218a94_598x335.png) 情景D:用戶希望在沒有index的獨立模式中使用registry。 使用沒有index的registry,這完全由Docker控制,它最適合于在私有網絡中存儲鏡像。registry運行在一個特殊的模式里,此模式限制了registry與Docker index的通信。所有有關安全性和身份驗證的信息需要用戶自己注意。 情景E:用戶想要在有index的獨立模式中使用registry。 在這種情況下,一個自定義的index會被創建在私有網絡里來存儲和訪問鏡像的問題。然而,通知Docker有關定制的index是耗時的。 Docker提供一個有趣的概念chaining registries,從而,實現負載均衡和為具體請求而指定的registry分配。在接下來的Docker教程系列中,我們將討論如何在上述每個情景中使用Docker Registry API ,以及深入了解Docker Security。 > 出處:http://dockone.io/article/104 > 原文鏈接:[Part 4: Registry & Workflows](http://flux7.com/blogs/docker/docker-tutorial-series-part-4-registry-workflows/) >(翻譯:[田浩浩](https://github.com/llitfkitfk)?審校:李穎杰)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看