為擴充套件配置私有 Marketplace
瞭解如何為你的 Docker Desktop 使用者配置和設定包含精選擴充套件列表的私有 Marketplace。
Docker Extensions 的私有 Marketplace 專為不允許開發者在其機器上擁有 root 訪問許可權的組織設計。它利用了設定管理,以便管理員可以完全控制私有 Marketplace。
先決條件
- 下載並安裝 Docker Desktop 4.26.0 或更高版本.
- 你必須是組織的管理員。
- 你能夠透過裝置管理軟體(例如Jamf)將
extension-marketplace
資料夾和admin-settings.json
檔案推送到下方指定的路徑。
步驟一:初始化私有 Marketplace
在本地建立一個資料夾,用於存放將要部署到開發者機器上的內容
$ mkdir my-marketplace $ cd my-marketplace
初始化 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
這會建立兩個檔案:
admin-settings.json
:一旦將其應用到開發者機器上的 Docker Desktop,它就會啟用私有 Marketplace 功能。extensions.txt
:它決定了私有 Marketplace 中列出的擴充套件列表。
步驟二:設定行為
生成的 admin-settings.json
檔案包含你可以修改的各種設定。
每個設定都有一個可以設定的 value
,包括一個 locked
欄位,你可以鎖定該設定,使其無法被開發者更改。
extensionsEnabled
啟用 Docker Extensions。extensionsPrivateMarketplace
啟用私有 Marketplace,並確保 Docker Desktop 連線到管理員定義和控制的內容,而不是公共 Docker Marketplace。onlyMarketplaceExtensions
允許或阻止開發者使用命令列安裝其他擴充套件。開發新擴充套件的團隊必須將此設定解鎖 ("locked": false
) 才能安裝和測試正在開發的擴充套件。extensionsPrivateMarketplaceAdminContactURL
定義了一個聯絡連結,供開發者在私有 Marketplace 中請求新的擴充套件。如果value
為空,則 Docker Desktop 上不會向你的開發者顯示連結;否則,這可以是 HTTP 連結或 "mailto:" 連結。例如,"extensionsPrivateMarketplaceAdminContactURL": { "locked": true, "value": "mailto:admin@acme.com" }
要了解有關 admin-settings.json
檔案的更多資訊,請參閱設定管理。
步驟三:列出允許的擴充套件
生成的 extensions.txt
檔案定義了私有 Marketplace 中可用的擴充套件列表。
檔案中的每一行都是一個允許的擴充套件,遵循 org/repo:tag
的格式。
例如,如果你想允許 Disk Usage 擴充套件,你會在 extensions.txt
檔案中輸入以下內容:
docker/disk-usage-extension:0.2.8
如果沒有提供標籤,則使用該映象可用的最新標籤。你也可以使用 #
註釋掉行,這樣該擴充套件就會被忽略。
此列表可以包含不同型別的擴充套件映象:
- 來自公共 Marketplace 或儲存在 Docker Hub 中的任何公共映象的擴充套件。
- 作為私有映象儲存在 Docker Hub 中的擴充套件映象。開發者需要登入並擁有拉取這些映象的許可權。
- 儲存在私有 Registry 中的擴充套件映象。開發者需要登入並擁有拉取這些映象的許可權。
重要提示
你的開發者只能安裝你列出的擴充套件版本。
步驟四:生成私有 Marketplace
一旦 extensions.txt
中的列表準備就緒,你就可以生成 Marketplace
$ /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
目錄,並下載所有允許擴充套件的 Marketplace 元資料。
Marketplace 內容是根據擴充套件映象資訊(作為映象標籤)生成的,其格式與公共擴充套件相同。它包含擴充套件標題、描述、截圖、連結等。
步驟五:測試私有 Marketplace 設定
建議你在自己的 Docker Desktop 安裝中嘗試私有 Marketplace。
在終端中執行以下命令。此命令會自動將生成的檔案複製到 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 選項卡時,你應該會看到私有 Marketplace 中只列出了你在 extensions.txt
中允許的擴充套件。


步驟六:分發私有 Marketplace
一旦確認私有 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,以便私有 Marketplace 配置生效。作為管理員,你應該強制登入。
反饋
如發現任何錯誤或需要提供反饋,請傳送電子郵件至 extensions@docker.com
。