為擴充功能設定私有市集

可用性: 測試版 (Beta)
適用對象: 管理員

瞭解如何為您的 Docker Desktop 使用者設定並配置包含精選擴充功能清單的私有市集。

Docker Extensions 的私有市集專為那些未賦予開發人員機器 root 權限的組織所設計。它利用設定管理 (Settings Management),讓管理員能完全掌控私有市集。

先決條件

步驟一:初始化私有市集

  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 Extensions。

  • 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 檔案定義了您的私有市集中可用的擴充功能清單。

檔案中的每一行都是一個允許的擴充功能,格式為 org/repo:tag

例如,如果您想允許 Disk Usage 擴充功能,您將在 extensions.txt 檔案中輸入以下內容

docker/disk-usage-extension:0.2.8

如果未提供標籤 (tag),則會使用該映像檔可用的最新 (latest) 標籤。您也可以使用 # 註解掉行,以便忽略該擴充功能。

此清單可包含不同類型的擴充功能映像檔

  • 來自公開市集的擴充功能,或儲存在 Docker Hub 中的任何公開映像檔。
  • 儲存在 Docker Hub 中的私有擴充功能映像檔。開發人員需要登入並擁有這些映像檔的存取權限 (pull access)。
  • 儲存在私有登錄檔 (private registry) 中的擴充功能映像檔。開發人員需要登入並擁有這些映像檔的存取權限 (pull access)。
重要

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

步驟四:產生私有市集

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) 頁籤時,您應該會看到私有市集僅列出您在 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 提供意見回饋或回報任何您發現的錯誤。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.