快速入門
請遵循本指南開始建立基礎 Docker 擴充功能。快速入門指南會自動為您產生樣板檔案。
先決條件
注意僅在您按照快速入門指南建立擴充功能時,才需要 NodeJS 和 Go。它使用
docker extension init指令來自動產生樣板檔案。此指令使用基於 ReactJS 和 Go 應用程式的範本。
在 Docker Desktop 設定中,請確保您能安裝正在開發的擴充功能。您可能需要前往 Docker Desktop 設定中的擴充功能 (Extensions) 頁籤,並取消勾選僅允許發布於 Docker Marketplace 的擴充功能 (Allow only extensions distributed through the Docker Marketplace)。
第一步:設定目錄
若要設定您的目錄,請使用 init 子指令並為您的擴充功能提供一個名稱。
$ docker extension init <my-extension>
該指令會詢問關於您擴充功能的一系列問題,例如名稱、描述以及 Hub 儲存庫的名稱。這有助於 CLI 為您產生一套入門用的樣板檔案。它會將樣板檔案儲存在 my-extension 目錄中。
自動產生的擴充功能包含:
- 位於
backend資料夾中、監聽 Socket 的 Go 後端服務。它有一個回傳 JSON 負載的/hello端點。 - 位於
frontend資料夾中、可以呼叫後端並輸出後端回應的 React 前端。
關於建置 UI 的更多資訊與準則,請參閱設計與 UI 樣式區塊。
第二步:建置擴充功能
若要建置擴充功能,請進入剛建立的目錄並執行:
$ docker build -t <name-of-your-extension> .
docker build 會建置擴充功能並產生一個名稱與所選 Hub 儲存庫相同的映像檔。例如,如果您在回答以下問題時輸入了 john/my-extension:
? Hub repository (eg. namespace/repository on hub): john/my-extension`
docker build 將會產生名稱為 john/my-extension 的映像檔。
第三步:安裝並預覽擴充功能
若要安裝擴充功能至 Docker Desktop,請執行:
$ docker extension install <name-of-your-extension>
若要在 Docker Desktop 中預覽擴充功能,當安裝完成後,您應該能在 擴充功能 (Extensions) 選單下看到一個 快速入門 (Quickstart) 的項目。選擇此項目即可開啟擴充功能的前端。
提示在 UI 開發過程中,使用熱重載 (hot reloading) 來測試變更而無需重新建置整個擴充功能會很有幫助。請參閱開發 UI 時進行預覽以獲取更多資訊。
您可能也會想檢查屬於該擴充功能的容器。預設情況下,擴充功能的容器在 Docker Dashboard 中是隱藏的。您可以在設定 (Settings) 中變更此項,請參閱如何顯示擴充功能容器以了解詳情。
第四步:提交並發布您的擴充功能至 Marketplace
如果您想讓所有 Docker Desktop 使用者都能使用您的擴充功能,您可以提交它以發布到 Marketplace。有關更多資訊,請參閱發布 (Publish)。
清理
若要移除擴充功能,請執行:
$ docker extension rm <name-of-your-extension>
接下來
- 為您的擴充功能建置更進階的前端。
- 了解如何測試和偵錯您的擴充功能。
- 了解如何設定擴充功能的 CI。
- 了解更多關於擴充功能 架構 的資訊。
- 深入了解 UI 設計。