為擴充功能設定私有市集
瞭解如何為您的 Docker Desktop 使用者設定並配置包含精選擴充功能清單的私有市集。
Docker Extensions 的私有市集專為那些未賦予開發人員機器 root 權限的組織所設計。它利用設定管理 (Settings Management),讓管理員能完全掌控私有市集。
先決條件
- 下載並安裝 Docker Desktop 4.26.0 或更新版本.
- 您必須是貴組織的管理員。
- 您有權透過裝置管理軟體(例如 Jamf)將
extension-marketplace資料夾和admin-settings.json檔案推送至下方指定的位置。
步驟一:初始化私有市集
在本機建立一個資料夾,用於存放將部署到開發人員機器的內容
$ mkdir my-marketplace $ cd my-marketplace初始化您的市集設定檔
$ /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 安裝中嘗試私有市集。
在您的終端機執行下列命令。此命令會自動將產生的檔案複製到 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- Mac:
退出並重新開啟 Docker Desktop。
使用 Docker 帳號登入。
當您選擇擴充功能 (Extensions) 頁籤時,您應該會看到私有市集僅列出您在 extensions.txt 中允許的擴充功能。

步驟六:發佈私有市集
一旦確認私有市集設定運作正常,最後一步就是使用貴組織使用的 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 提供意見回饋或回報任何您發現的錯誤。