將容器化應用部署到 Azure
在本指南中,您將學習如何
- 為應用程式建立容器映像。
- 將映像推送到容器登錄檔。
- 將映像部署到 Azure App Service 或 Azure Container Apps。
先決條件
- Azure 訂閱。
- 必須安裝 Container Tools 和 Azure App Service 擴充套件。
- 一個會生成容器映像的 Web 應用程式。你也可以按照建立 ASP .NET Core 示例應用程式來建立此類應用程式。
- 你需要一個 Docker Hub 帳戶或一個 Azure Container Registry (ACR) 例項。
建立應用程式映像
如果你已有映像,請跳過此步驟,然後繼續執行將映像推送到容器登錄檔步驟。
-
在 VS Code 中開啟應用程式資料夾。
-
開啟命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P)),然後使用 Container Images: Build Image... 命令來構建映像。

你可以在 Build Image 命令的輸出中找到映像名稱,在 Container Explorer 的 Images 窗格中也可以找到相同的資訊。

將映像推送到容器登錄檔
在將映像部署到 App Service 或 Container App 之前,必須將映像上傳到容器登錄檔。可以將映像上傳到 Azure Container Registry (ACR) 或 Docker Hub。
-
開啟 Container Explorer,選擇 Registries 組下的 Connect Registry... 圖示,然後按照提示操作。選擇提供商(Azure 或 Docker Hub)並提供憑據以連線到登錄檔。

-
現在,登錄檔將在 Registries 下可見。

-
可以選擇性地標記映像。為了將映像上傳到登錄檔,需要使用登錄檔名稱來標記映像,這樣
docker push命令才能將其上傳到正確的登錄檔。-
若要在 Azure ACR 中建立登錄檔,請開啟 Container Explorer 的 Registries 部分,如果尚未登入,請登入 Azure,然後右鍵單擊要使用的訂閱,並選擇 Create Registry。
-
在上一步中構建的映像將出現在 Container Explorer 的 Images 部分下。右鍵單擊並選擇 Tag...。

-
指定新名稱
<your registry or username>/<image name>:<tag>並完成標記操作。例如,名為 WebApp6 的 ACR 的新映像名稱將是 'webapp6.azurecr.io/webapp6:latest',而對於 Docker Hub,它將是 'myusername/webapp6:latest'。
-
-
映像將顯示在 Container Explorer 中,位於映像標記指向的登錄檔下。選擇此映像並選擇 Push。如果映像尚未標記,系統將提示你選擇要推送到的登錄檔,並將根據所選內容標記映像。

-
推送命令完成後,重新整理映像推送到的登錄檔節點,上傳的映像將顯示出來。

將映像部署到 Azure
在上一部分中,映像已推送到遠端容器登錄檔。現在,將此映像部署到 Azure App Service 或 Azure Container Apps。
-
在 Container Explorer 中,導航到 Registries 下的映像,右鍵單擊標記,然後選擇 Deploy Image To Azure App Service... 或 Deploy Image to Azure Container Apps...。

-
出現提示時,為 App Service 或 Container App 提供值。
- 新建 Web 應用名稱:名稱在 Azure 中必須唯一。
- 資源組:選擇現有資源組或建立一個新資源組。
- App Service 計劃:選擇現有的 App Service 計劃或建立一個新計劃。(App Service 計劃定義了託管網站的物理資源;你可以為此教程使用基本或免費計劃層。)
-
部署完成後,Visual Studio Code 將顯示一個包含網站 URL 的通知。

-
你也可以在 Visual Studio Code 的 Output 面板的 Container Tools 部分中檢視結果。

-
要瀏覽已部署的網站,可以使用 Ctrl+click 在 Output 面板中開啟 URL。你可能需要等待一段時間才能在 Azure 中訪問該應用。新的 App Service 或 Container App 也會出現在 Visual Studio Code 的 Azure 檢視中,你可以在其中右鍵單擊網站並選擇 Browse Website。

後續步驟
繼續閱讀以瞭解更多資訊
- Azure 擴充套件 - VS Code Marketplace 包含數百個用於 Azure 和雲的擴充套件。
- 部署到 Azure - 逐步瞭解如何將您的應用程式部署到 Azure。
- 使用 MongoDB - 在 VS Code 中建立、管理和查詢 MongoDB 資料庫。