設定擴充功能的私人市集

測試版

此功能目前為 測試版。僅適用於 Docker Business 客戶。

瞭解如何為 Docker Desktop 使用者設定和建立具有策劃擴充功能清單的私人市集。

專為以下情況設計

Docker 擴充功能的私人市集專為未授予開發人員機器 root 權限的組織設計。它利用 設定管理,讓管理員可以完全控制私人市集。

先決條件

  • 下載並安裝 Docker Desktop 4.26.0 或更新版本Jamf步驟一:初始化私人市集
    1. 在本機建立一個資料夾,用於存放將部署到開發人員機器上的內容

      $ mkdir my-marketplace
      $ cd my-marketplace
      
    2. 初始化您市集的設定檔


      $ /Applications/Docker.app/Contents/Resources/bin/extension-admin init
      
      $ C:\Program Files\Docker\Docker\resources\bin\extension-admin init
      
      $ /opt/docker-desktop/extension-admin init
      

    這會建立 2 個檔案

    • admin-settings.json,在套用至開發人員機器上的 Docker Desktop 後,會啟用私人市集功能。
    • extensions.txt,決定要在您的私人市集中列出哪些擴充功能。

    步驟二:設定行為

    產生的 admin-settings.json 檔案包含您可以修改的各種設定。

    每個設定都有一個您可以設定的 value 值,包括一個 locked 欄位,可讓您鎖定設定並讓您的開發人員無法變更。

    • extensionsEnabled 啟用 Docker 擴充功能。

    • extensionsPrivateMarketplace 啟用私人市集,並確保 Docker Desktop 連線到由管理員定義和控制的內容,而不是公開的 Docker 市集。

    • onlyMarketplaceExtensions 允許或阻止開發人員使用命令列安裝其他擴充功能。開發新擴充功能的團隊必須將此設定解鎖 ("locked": false) 才能安裝和測試正在開發的擴充功能。

    • extensionsPrivateMarketplaceAdminContactURL 定義開發人員在私人市集中請求新擴充功能的聯絡連結。如果 value 為空,則 Docker Desktop 上不會向您的開發人員顯示連結,否則可以是 HTTP 連結或「mailto:」連結。例如,

      "extensionsPrivateMarketplaceAdminContactURL": {
        "locked": true,
        "value": "mailto:admin@acme.com"
      }

    若要深入瞭解 admin-settings.json 檔案,請參閱 設定管理

    步驟三:列出允許的擴充功能

    產生的 extensions.txt 檔案定義了您的私人市集中可用的擴充功能列表。

    檔案中的每一行都是一個允許的擴充功能,並遵循 組織/儲存庫:標籤 的格式。

    例如,如果您要允許磁碟使用量擴充功能,您需要在 extensions.txt 檔案中輸入以下內容

    docker/disk-usage-extension:0.2.8
    

    如果未提供標籤,則會使用映像可用的最新標籤。您也可以使用 # 將行註釋掉,這樣擴充功能就會被忽略。

    此列表可以包含不同類型的擴充功能映像

    • 來自公共市集或儲存在 Docker Hub 中的任何公共映像的擴充功能。
    • 儲存在 Docker Hub 中作為私有映像的擴充功能映像。開發人員需要登入並具有提取這些映像的權限。
    • 儲存在私有儲存庫中的擴充功能映像。開發人員需要登入並具有提取這些映像的權限。

    重要

    您的開發人員只能安裝您列出的擴充功能版本。

    步驟四:產生私人市集

    extensions.txt 中的列表準備就緒後,您可以產生市集


    $ /Applications/Docker.app/Contents/Resources/bin/extension-admin generate
    
    $ C:\Program Files\Docker\Docker\resources\bin\extension-admin generate
    
    $ /opt/docker-desktop/extension-admin generate
    

    這將建立一個 extension-marketplace 目錄,並下載所有允許擴充功能的市集中繼資料。

    市集內容是根據擴充功能映像資訊作為映像標籤產生的,其格式與公共擴充功能相同。它包含擴充功能標題、說明、螢幕截圖、連結等。

    步驟五:測試私人市集設定

    建議您在 Docker Desktop 安裝上試用私人市集。

    1. 在您的終端機中執行以下命令。此命令會自動將產生的檔案複製到 Docker Desktop 讀取設定檔的位置。根據您的作業系統,位置為

      • Mac:/Library/Application\ Support/com.docker.docker
      • Windows:C:\ProgramData\DockerDesktop
      • Linux:/usr/share/docker-desktop

      $ sudo /Applications/Docker.app/Contents/Resources/bin/extension-admin apply
      
      $ C:\Program Files\Docker\Docker\resources\bin\extension-admin apply
      
      $ sudo /opt/docker-desktop/extension-admin apply
      

    2. 退出並重新開啟 Docker Desktop。

    3. 使用 Docker 帳戶登入。

    當您選擇「擴充功能」索引標籤時,您應該會看到私人市集僅列出您在 extensions.txt 中允許的擴充功能。

    Extensions Private Marketplace

    步驟六:發佈私人市集

    確認私人市集設定運作後,最後一步是使用您的組織使用的 MDM 軟體將檔案發佈到開發人員的機器。例如,Jamf

    要發佈的檔案是

    • admin-settings.json
    • 整個 extension-marketplace 資料夾及其子資料夾

    這些檔案必須放在開發人員的機器上。根據您的作業系統,目標位置是(如上所述)

    • Mac:/Library/Application\ Support/com.docker.docker
    • Windows:C:\ProgramData\DockerDesktop
    • Linux:/usr/share/docker-desktop

    確保您的開發人員已登入 Docker Desktop,以便私人市集設定生效。作為管理員,您應該強制執行登入

    意見回饋

    如有任何意見或錯誤回報,請電郵至 extensions@docker.com