打包和釋出您的擴充套件
此頁面包含有關如何打包和分發擴充套件的附加資訊。
打包您的擴充套件
Docker 擴充套件被打包為 Docker 映象。整個擴充套件執行時,包括 UI、後端服務(主機或虛擬機器)和任何必要的二進位制檔案,都必須包含在擴充套件映象中。每個擴充套件映象的檔案系統根目錄中必須包含一個 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 Extension SDK 根據 Apache 2.0 許可證授權,可免費使用。
每個擴充套件的許可方式沒有限制,這取決於您在建立新擴充套件時決定。