為擴充套件配置私人應用商店

可用性: 測試版
適用於: 管理員

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

Docker Extensions 的私人應用商店專為不允許開發人員擁有機器 root 訪問許可權的組織設計。它利用了設定管理功能,以便管理員可以完全控制私人應用商店。

先決條件

第一步:初始化私人應用商店

  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 檔案定義了私人應用商店中可用的擴充套件列表。

檔案中的每一行都是一個允許的擴充套件,並遵循 org/repo:tag 的格式。

例如,如果您想允許磁碟使用擴充套件,您將在 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