打包併發布您的擴充套件

此頁面包含有關如何打包和分發擴充套件的更多資訊。

打包您的擴充套件

Docker 擴充套件打包為 Docker 映象。整個擴充套件執行時,包括 UI、後端服務(主機或 VM)以及任何必要的二進位制檔案,都必須包含在擴充套件映象中。每個擴充套件映象都必須在其檔案系統的根目錄中包含一個 metadata.json 檔案,該檔案定義了 擴充套件的內容.

Docker 映象必須具有幾個 映象標籤,提供有關擴充套件的資訊。請檢視如何使用 擴充套件標籤 來提供擴充套件概述資訊。

要打包和釋出擴充套件,您必須構建 Docker 映象 (docker build),並將映象推送到 Docker Hub (docker push) ,並使用特定的標籤來管理擴充套件的版本。

釋出您的擴充套件

Docker 映象標籤必須遵循 semver 約定,以便能夠獲取擴充套件的最新版本,並瞭解是否有可用的更新。請檢視 semver.org 瞭解有關語義版本控制的更多資訊。

擴充套件映象必須是多體系結構映象,以便使用者能夠在 ARM/AMD 硬體上安裝擴充套件。這些多體系結構映象可以包含 ARM/AMD 特定二進位制檔案。Mac 使用者將根據其體系結構自動使用正確的映象。在主機上安裝二進位制檔案的擴充套件還必須在同一個擴充套件映象中提供 Windows 二進位制檔案。請檢視如何 為您的擴充套件構建多體系結構映象

您可以實現不受程式碼倉庫限制的擴充套件。Docker 無需訪問程式碼倉庫即可使用擴充套件。此外,您可以管理擴充套件的新版本,而無需依賴於 Docker Desktop 版本。

新版本和更新

您可以透過將帶有新標籤的新映象推送到 Docker Hub 來發布 Docker 擴充套件的新版本。

推送到與擴充套件相對應的映象倉庫的任何新映象都定義了該擴充套件的新版本。映象標籤用於標識版本號。擴充套件版本必須遵循 semver,以便於理解和比較版本。

Docker Desktop 會掃描市場中釋出的擴充套件列表,以查詢新版本,並在使用者可以升級特定擴充套件時向他們提供通知。目前,不在市場中的擴充套件沒有自動更新通知。

使用者無需更新 Docker Desktop 本身,即可下載並安裝任何擴充套件的更新版本。

擴充套件 API 依賴項

擴充套件必須指定其依賴的擴充套件 API 版本。Docker Desktop 會檢查擴充套件的所需版本,並且只會建議安裝與當前安裝的 Docker Desktop 版本相容的擴充套件。使用者可能需要更新 Docker Desktop 才能安裝最新的可用擴充套件。

擴充套件映象標籤必須指定擴充套件依賴的 API 版本。這使 Docker Desktop 能夠在不事先下載完整的擴充套件映象的情況下檢查擴充套件映象的更新版本。

擴充套件和擴充套件 SDK 的許可

Docker 擴充套件 SDK 採用 Apache 2.0 許可證,可免費使用。

對每個擴充套件的許可方式沒有限制,這取決於您在建立新擴充套件時決定。