提示
docker extension init
會產生 Go 後端。但您仍然可以將其用作您自己擴充功能的起點,並使用任何其他語言,例如 Node.js、Python、Java、.Net 或任何其他語言和框架。
在本教學課程中,後端服務僅公開一個傳回 JSON 負載「Hello」的路由。
重要
我們建議前端和後端透過通訊端,以及 Windows 上的命名管道進行通訊,而不是 HTTP。這可以防止與主機上執行的任何其他應用程式或容器發生連接埠衝突。此外,某些 Docker Desktop 使用者在受限的環境中執行,他們無法在其機器上開啟連接埠。為後端選擇語言和框架時,請確保它支援通訊端連線。
重要
我們目前尚無 Java 的有效範例。填寫表單 並讓我們知道您是否需要 Java 的範例。
重要
我們目前尚無 .NET 的有效範例。填寫表單 並讓我們知道您是否需要 .NET 的範例。
注意
使用 `docker extension init` 時,它會建立一個已包含 Go 後端所需內容的 `Dockerfile`。
要在安裝擴充功能時部署 Go 後端,您需要先設定 `Dockerfile`,以便它
- 建置後端應用程式
- 將二進位檔案複製到擴充功能的容器檔案系統中
- 當容器開始在擴充功能通訊端上監聽時啟動二進位檔案
提示
為了簡化版本管理,您可以重複使用相同的映像檔來建置前端、建置後端服務,以及打包擴充功能。
重要
我們目前尚無 Node 的有效 Dockerfile。填寫表單 並讓我們知道您是否需要 Node 的 Dockerfile。
重要
我們目前尚無 Python 的有效 Dockerfile。填寫表單 並讓我們知道您是否需要 Python 的 Dockerfile。
重要
我們目前尚無 Java 的有效 Dockerfile。填寫表單 並讓我們知道您是否需要 Java 的 Dockerfile。
重要
我們目前尚無 .Net 的有效 Dockerfile。填寫表單 並讓我們知道您是否需要 .Net 的 Dockerfile。
若要在 Docker Desktop 的虛擬機器中啟動擴充功能的後端服務,您必須在 `metadata.json` 檔案的 `vm` 區段中設定映像檔名稱。
有關 `metadata.json` 檔案中 `vm` 區段的更多資訊,請參閱中繼資料。
警告
請勿取代 `metadata.json` 檔案中的 `${DESKTOP_PLUGIN_IMAGE}` 預留位置。安裝擴充功能時,預留位置會自動替換為正確的映像檔名稱。
使用進階前端擴充功能範例,我們可以叫用我們的擴充功能後端。
使用 Docker Desktop Client 物件,然後使用 `ddClient.extension.vm.service.get` 叫用後端服務中的 `/hello` 路由,它會傳回回應的本文。
將 `ui/src/App.tsx` 檔案替換為以下程式碼
重要
我們目前尚無 Vue 的範例。填寫表單 並告知我們您是否需要 Vue 範例。
重要
我們目前尚無 Angular 的範例。填寫表單 並告知我們您是否需要 Angular 範例。
重要
我們目前尚無 Svelte 的範例。填寫表單 並告知我們您是否需要 Svelte 範例。
由於您已修改擴充功能的配置並在 Dockerfile 中新增了一個階段,因此您必須重新建置擴充功能。
建置完成後,您需要更新它,或者如果您尚未安裝,則需要安裝它。
現在,您可以在 Docker Desktop 儀表板的容器視圖中看到後端服務正在運行,並在需要除錯時查看日誌。
提示
您可能需要在設定中開啟顯示系統容器選項才能看到後端容器正在運行。 更多資訊請參閱顯示擴充功能容器。
開啟 Docker Desktop 儀表板並選擇容器標籤。您應該會看到後端服務呼叫的回應。