為擴充套件配置私有 Marketplace

可用性: Beta
適用於: 管理員

瞭解如何為你的 Docker Desktop 使用者配置和設定包含精選擴充套件列表的私有 Marketplace。

Docker Extensions 的私有 Marketplace 專為不允許開發者在其機器上擁有 root 訪問許可權的組織設計。它利用了設定管理,以便管理員可以完全控制私有 Marketplace。

先決條件

步驟一:初始化私有 Marketplace

  1. 在本地建立一個資料夾,用於存放將要部署到開發者機器上的內容

    $ mkdir my-marketplace
    $ cd my-marketplace
    
  2. 初始化 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。

  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 選項卡時,你應該會看到私有 Marketplace 中只列出了你在 extensions.txt 中允許的擴充套件。

Extensions Private Marketplace

步驟六:分發私有 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

頁面選項