共用方式為


快速入門:在 Azure 中執行自定義容器

Azure App 服務 在 WINDOWS 上提供預先定義的應用程式堆疊,例如在 IIS 上執行的 ASP.NET 或Node.js。 預先設定的應用程式堆疊會 鎖定作系統,並防止低階存取。 自定義 Windows 容器沒有這些限制。 它們可讓開發人員完整自定義容器,並讓容器化應用程式完整存取 Windows 功能。

本快速入門說明如何從 Visual Studio 將 Windows 映射 中的 ASP.NET 應用程式部署到 Azure Container Registry 。 您可以在 Azure App Service 中於自訂容器內執行應用程式。

必要條件

  • 安裝適用於 Windows 的 Docker (英文)

  • 切換 Docker 以執行 Windows 容器

  • 安裝 Visual Studio 2022,記得包含 ASP.NET 與 Web 開發Azure 開發工作負載。 在 Visual Studio 2022 Community 中,確定 已選取 .NET Framework 專案和專案範本 元件,並搭配 ASP.NET 和 Web 開發工作負載。 如果您已安裝 Visual Studio 2022 已:

    • 選取 [說明]>[檢查更新],在 Visual Studio 中安裝最新的更新。
    • 選取 [工具]>[取得工具與功能] 以在 Visual Studio 中新增工作負載。

建立 ASP.NET Web 應用程式

請遵循下列步驟來建立 ASP.NET Web 應用程式:

  1. 開啟 Visual Studio,然後選取 [建立新專案]

  2. [建立新專案] 中,針對 C# 選取 [ASP.NET Web 應用程式 [.NET Framework] ,然後選取 [ 下一步]。

    [建立新專案] 對話框的螢幕快照。

  3. [設定新專案][專案名稱]下,將應用程式命名為 myfirstazurewebapp。 選取 [架構] 下的 [.NET Framework 4.8],接著選取 [建立]

    設定您的 Web 應用程式專案的螢幕擷取畫面。

  4. 您可以將任何類型的 ASP.NET web 應用程式部署至 Azure。 在本快速入門中,選擇 [MVC] 範本。

  5. [驗證] 下,選取 [無]。 在 [進階] 底下,選取 [容器支援],然後取消核取 [設定 HTTPS]。 選取 建立

    [建立 ASP.NET Web 應用程式] 對話框的螢幕快照。

  6. 如果 Dockerfile 檔案沒有自動開啟,請從 [方案總管] 開啟它。

  7. 您需要支援的父映像。 請使用下列程式碼取代 FROM 這一行以變更父映像,然後儲存檔案:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. 從 Visual Studio 功能表中,選取 [偵錯]>[啟動但不偵錯] 以在本機執行 Web 應用程式。

    在本機執行之應用程式的螢幕擷取畫面。

發佈到 Azure Container Registry

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 myfirstazurewebapp 專案,然後選取 [發佈]

  2. 在 [目標] 中,選取 [Docker Container Registry] \(Docker 容器登錄\),然後選取 [下一步]

    [選取 Docker 容器登錄] 畫面的螢幕擷取畫面。

  3. 在 [特定目標] 中,選取 [Azure Container Registry],然後選取 [下一步]

    從專案概觀頁面發佈的螢幕擷取畫面。

  4. 在 [ 發佈] 中,選擇正確的訂用帳戶。 在 [容器登錄] 中 ,選取 [ 新建 ] 以建立新的 Azure Container Registry。

    [建立新的 Azure Container Registry] 畫面的螢幕擷取畫面。

  5. 在 [新建],選取正確的訂用帳戶。 在 [資源群組] 下選取 [新增],並鍵入 myResourceGroup 作為名稱,然後選取 [確定]。 在 [SKU] 下選取 [基本]。 在 [登錄位置] 底下,選取登錄的位置,接著選取 [建立]

    Azure Container Registry 詳細資料的螢幕擷取畫面。

  6. [發佈][容器登錄] 下,選取建立的登錄,並選取 [完成]

    [選取現有 Azure Container Registr] 畫面的螢幕擷取畫面。

    等待部署完成。 [發佈] 頁面隨即顯示存放庫名稱。 選取複製按鈕,複製存放庫名稱以供稍後使用。

    S反白顯示存放庫名稱的螢幕擷取畫面。

建立 Windows 自定義容器

  1. 登入 Azure 入口網站

  2. 選擇 Azure 入口網站左上角的 [建立資源]

  3. [熱門服務] 下,選取 [Web 應用程式] 下的 [建立]

  4. [建立 Web 應用程式] 中,選擇您的訂用帳戶和資源群組。 如有需要,您可以建立新的資源群組。

  5. 提供應用程式名稱,例如:win-container-demo。 針對 [ 發佈],選取 [容器]。 針對 [作業系統],選取 [Windows]

    建立用於容器的 Web App 的螢幕擷取畫面。

  6. 選取 [下一步:資料庫],然後選取 [下一步:容器] 以繼續。

  7. 針對 [映像來源] 選擇 [Docker Hub][映像和標籤] 則輸入 [發佈至 Azure Container Registry] 中複製的存放庫名稱。

    設定適用於容器的 Web 應用程式螢幕快照。

    如果您在他處有用於 Web 應用程式的自訂映像 (例如,在 Azure Container Registry 中或任何其他私人存放庫中),您可以在此處加以設定。 選取 [檢閱 + 建立] 以繼續執行。

  8. 確認所有詳細數據,然後選取 [ 建立]。

    建立適用於容器的 Web 應用程式的螢幕快照。

    等候 Azure 建立所需的資源。

流覽至自定義容器

作業完成時,Azure 入口網站 會顯示通知。

部署成功的螢幕擷取畫面。

  1. 選取 [前往資源] 。

  2. 在此資源的概觀中,請遵循預設網域的連結。

新的瀏覽器頁面隨即開啟,並顯示下列頁面:

Windows 自訂容器啟動中的螢幕擷取畫面。

在幾分鐘後再試一次,直到您看到預設的 ASP.NET 首頁:

Windows 自訂容器執行中的螢幕擷取畫面。

恭喜! 您正在 Azure App Service 中執行您的第一個自訂 Windows 容器。

檢視容器啟動記錄

Windows 容器可能需要一些時間才能載入。 若要查看進度,請使用您的應用程式名稱取代 <app_name>,以瀏覽至下列 URL。

https://<app_name>.scm.azurewebsites.net/api/logstream

串流處理的記錄會如下所示:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

在本機更新並重新部署

  1. 在 Visual Studio 的 [方案總管] 中,開啟 [檢視]>[主資料夾]>[Index.cshtml]

  2. 尋找頂端附近的 <div class="jumbotron"> HTML 標籤,並以下列程式碼取代整個元素︰

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. 若要重新部署至 Azure,請在 [方案總管] 中,以滑鼠右鍵按一下 myfirstazurewebapp 專案,然後選擇 [發佈]

  4. 在 [發佈] 頁面上,選取 [發佈] 並等候發佈完成。

  5. 若要告知 App Service 從 Docker Hub 提取新映像,請重新啟動應用程式。 在 Azure 入口網站 的應用程式頁面中,選取 [重新啟動>是]。

    已醒目提示 [重新啟動] 按鈕的應用程式服務概觀的螢幕擷取畫面。

再次瀏覽至自訂容器。 當您重新整理網頁時,應用程式應該會先還原為 [開始] 頁面,然後顯示更新的網頁。

Azure 中已更新 Web 應用程式的螢幕擷取畫面。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 Azure 入口網站功能表或 [首頁] 頁面,選取 [資源群組]。 然後,在 [資源群組] 頁面上,選取 [myResourceGroup]

在 [myResourceGroup] 頁面上,確定所列出的資源是您想要刪除的項目。

選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]

Linux 上的 Azure App 服務 提供 Linux 上預先定義的應用程式堆疊,並支援 .NET、Java、Node.js 和 PHP 等語言。 您也可以使用自訂 Docker 映像,在尚未於 Azure 中定義的應用程式堆疊上執行 Web 應用程式。 本快速入門說明如何將映像從 Azure Container Registry (ACR) 部署至 App Service。

如需無伺服器環境中容器化應用程式的詳細資訊,請參閱 Container Apps

必要條件

建立容器登錄

本快速入門使用 Azure Container Registry 作為登錄。 您可以使用其他登錄,但步驟可能會稍有不同。

依循快速入門:使用 Azure 入口網站建立私人容器登錄中的指示,建立容器登錄。

重要

建立容器登錄時,請務必將 [管理使用者] 選項設定為 [啟用]。 您也可以在 Azure 入口網站中,從登錄頁面的 [存取金鑰] 區段擷取它。 這是 App Service 存取的必要設定。 如需受控識別,請參閱從 ACR 部署教學課程。

登入

  1. 啟動 Visual Studio Code。

  2. 選取活動列中的 Azure 標誌,瀏覽至 [帳戶與租使用者]。 選取 [登入 Azure ],然後遵循指示。

    在 Visual Studio Code 中登入 Azure 的螢幕擷取畫面。

  3. 在底部的狀態列中,確認您的 Azure 帳戶電子郵件地址。 [APP SERVICE] 總管應會顯示您的訂用帳戶。

  4. 在活動列中,選取 Docker 標誌。 在登錄總管中,確認顯示所建立的容器登錄。

    已展開 Azure 之登錄值的螢幕擷取畫面。

檢查先決條件

確認 Docker 已安裝並執行。 下列命令會在執行時顯示 Docker 版本。

docker --version

建立和建置映像

  1. 在 Visual Studio Code 中,開啟空的資料夾,並新增名為 Dockerfile 的檔案。 在 Dockerfile 中,根據所需的語言架構貼上內容:

    在此 Dockerfile 中,父映像為 App Service 的其中一個內建 .NET 容器。

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. 開啟命令選擇區,並輸入 Docker Images: Build Image。 選取 Enter 以執行此命令。

  3. 在映像標籤方塊中,以下列格式指定所需標籤:<acr-name>.azurecr.io/<image-name>:<tag>,其中 <acr-name> 為您建立的容器登錄名稱。 選取 [輸入]

  4. 當映像完成建置時,請選取 [映射總管] 頂端的 [重新整理],並確認映射已成功建置。

    已建置映像與標籤的螢幕擷取畫面。

部署至容器登錄

  1. 在活動列中,選取 Docker 圖示。 在 IMAGES 總管中,尋找您建置的映像。

  2. 展開映像,以滑鼠右鍵按下您想要的標籤,然後選取 [ 推送]。

  3. 請確定映像標籤開頭為 <acr-name>.azurecr.io,並按下 Enter

  4. 當 Visual Studio Code 完成將映像推送至容器登錄時,請選取 [REGISTRIES 總管] 頂端的 [重新整理],並確認已成功推送映射。

    部署至 Azure Container Registry 映像的螢幕擷取畫面。

部署到 App Service

  1. [REGISTRIES] 總管中,展開映像,以滑鼠右鍵按兩下卷標,然後選取 [部署映像] 以 Azure App 服務
  2. 依循提示選擇訂用帳戶、全域唯一應用程式名稱、資源群組和 App Service 方案。 定價層選擇 [B1 基本],並選擇鄰近的區域。

部署之後,您的應用程式可以在 http://<app-name>.azurewebsites.net 取得。

資源群組是 Azure 中所有應用程式資源的具名集合。 例如,資源群組可以包含網站、資料庫和 Azure 函式的參考。

App Service 方案會定義用來裝載網站的實體資源。 本快速入門會在Linux基礎結構上使用基本主控方案,這表示月臺會與其他網站一起裝載於Linux機器上。 如果您開始使用基本方案,可以使用 Azure 入口網站來擴大,讓您的網站是在機器上執行的唯一網站。 如需了解定價,請參閱 App Service 定價

瀏覽網站

[輸出] 面板會顯示部署作業的狀態。 作業完成時,選取快顯通知中的 [開啟網站],以在瀏覽器中開啟網站。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 Azure 入口網站功能表或 [首頁] 頁面,選取 [資源群組]。 然後,在 [資源群組] 頁面上,選取 [myResourceGroup]

在 [myResourceGroup] 頁面上,確定所列出的資源是您想要刪除的項目。

選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]

恭喜,您已成功完成本快速入門。

每次啟動時,App Service 應用程式皆會提取自容器登錄。 若重建映像,僅須將其發送至容器登錄,應用程式重新啟動時便會提取更新的映像。 若要通知應用程式立即提取更新的映像,請重新啟動。

其他 Azure 延伸模組:

Linux 上的 Azure App 服務 提供 Linux 上預先定義的應用程式堆疊,並支援 .NET、Java、Node.js 和 PHP 等語言。 您也可以使用自訂 Docker 映像,在尚未於 Azure 中定義的應用程式堆疊上執行 Web 應用程式。 此快速入門示範如何將映像從 Azure Container Registry 部署至 Azure App Service。

如需無伺服器環境中容器化應用程式的詳細資訊,請參閱 Container Apps

必要條件

複製範例存放庫

使用下列命令複製 .NET 6.0 範例應用程式

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

將映像推送至 Azure Container Registry

請確定您位於複製存放庫的根資料夾中。 此存放庫包含 Dockerfile.linux 檔案。

  1. 登入 Azure CLI。

    az login
    
  2. 登入 Azure Container Registry。

    az acr login -n <your_registry_name>
    
  3. 建置容器映像。 此範例使用映像名稱 dotnetcore-docs-hello-world-linux

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. 將容器映像推送至 Azure Container Registry。

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    注意

    Dockerfile 會在內部將連接埠號碼設定為 80。 如需設定容器的詳細資訊,請參閱設定自訂容器

部署至 Azure

登入 Azure 入口網站

登入 Azure 入口網站

建立 Azure 資源

  1. 在搜尋中輸入應用程式服務。 在 [服務] 下,選取 [App Service]

    在 Azure 入口網站中搜尋「應用程式服務」的螢幕擷取畫面。

  2. 在 [App Service] 頁面中,選取 [建立]> [Web 應用程式]

  3. 在 [基本] 索引標籤的 [項目詳細數據] 底下,選取正確的訂用帳戶。 選取 [建立新的] 資源群組。 輸入 myResourceGroup 作為名稱。

    螢幕擷取畫面:[專案詳細資料] 章節顯示您可以在該章節中為 Web 應用程式選取 Azure 訂用帳戶和資源群組。

  4. 在 [執行個體詳細資料] 下方:

    • 輸入 Web 應用程式的全域唯一名稱。
    • 選取 [容器]
    • 針對 [ 作系統],選取 [ Linux]。
    • 選取您要從中提供應用程式的區域

    [實例詳細數據] 區段的螢幕快照,其中提供虛擬機的名稱,並選取其區域、映像和大小。

  5. 在 [App Service 方案] 下,選取 [新建] App Service 方案。 輸入 myAppServicePlan 以取得名稱。 若要變更為免費層,請選取 [變更大小],選取 [ 開發/測試 ] 索引卷標,然後選取 F1。 選取套用

    App Service 方案選項的螢幕快照。

  6. 在頁面頂端,選取 [ 容器] 索引標籤。

  7. 在 [容器] 索引標籤的 [映射來源] 中,選取 [Azure Container Registry]。 在 [Azure container registry options] \(Azure Container Registry 選項\) 下,設定下列值:

    • 登錄:選取您的 Azure Container Registry。
    • 映像:選取 [dotnetcore-docs-hello-world-linux]
    • 標籤:選取 [最新]

    顯示 Azure Container Registry 選項的螢幕擷取畫面。

  8. 選取頁面底部的 [檢閱 + 建立] 。

    顯示頁面底部 [檢閱及建立] 按鈕的螢幕擷取畫面。

  9. 驗證執行之後,選取 [建立]

  10. 部署完成之後,請選取 [移至資源]。

    顯示移至資源下一個步驟的螢幕擷取畫面。

瀏覽至應用程式

使用網頁瀏覽器瀏覽至已部署的應用程式 (URL 為 http://<app-name>.azurewebsites.net)。

顯示已部署應用程式的螢幕擷取畫面。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 Azure 入口網站功能表或 [首頁] 頁面,選取 [資源群組]。 然後,在 [資源群組] 頁面上,選取 [myResourceGroup]

在 [myResourceGroup] 頁面上,確定所列出的資源是您想要刪除的項目。

選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]

恭喜,您已成功完成本快速入門。

每次啟動時,App Service 應用程式都會從容器登錄提取。 如果您重建映像,只要將其推送至容器登錄即可。 應用程式會在重新啟動時提取更新的映像。 若要通知應用程式立即提取更新的映像,請重新啟動。

Azure App 服務 在 WINDOWS 上提供預先定義的應用程式堆疊,例如在 IIS 上執行的 ASP.NET 或Node.js。 預先設定的應用程式堆疊會 鎖定作系統,並防止低階存取。 自定義 Windows 容器沒有這些限制。 它們可讓開發人員完整自定義容器,並讓容器化應用程式完整存取 Windows 功能。

此快速入門示範如何將 Windows 中的 ASP.NET 應用程式映像從 Azure Container Registry 部署至 Azure App Service。

必要條件

複製範例存放庫

使用下列命令複製 .NET 6.0 範例應用程式

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

將映像推送至 Azure Container Registry

請確定您位於複製存放庫的根資料夾中。 此存放庫包含 Dockerfile.windows 檔案。 本文使用 Windows Nano Server 長期維護通道 (LTSC) 2022 作為基礎作系統,明確呼叫我們的 Windows 基底。

注意

即使此容器是 Windows 容器,路徑仍然需要使用正斜線。 如需詳細資訊,請參閱 撰寫 Dockerfile

  1. 登入 Azure CLI。

    az login
    
  2. 登入 Azure Container Registry。

    az acr login -n <your_registry_name>
    
  3. 建置容器映像。 此範例使用映像名稱 dotnetcore-docs-hello-world-windows

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. 將容器映像推送至 Azure Container Registry。

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    注意

    Dockerfile 會在內部將連接埠號碼設定為 80。 如需設定容器的詳細資訊,請參閱設定自訂容器

部署至 Azure

登入 Azure 入口網站

登入 Azure 入口網站

建立 Azure 資源

  1. 在搜尋中輸入應用程式服務。 在 [服務] 下,選取 [App Service]

    在 Azure 入口網站中搜尋「應用程式服務」的螢幕擷取畫面。

  2. 在 [App Service] 頁面中,選取 [建立]> [Web 應用程式]

  3. 在 [基本] 索引標籤的 [項目詳細數據] 底下,選取正確的訂用帳戶。 選取 [建立新的] 資源群組。 輸入 myResourceGroup 作為名稱。

    螢幕擷取畫面:[專案詳細資料] 章節顯示您可以在該章節中為 Web 應用程式選取 Azure 訂用帳戶和資源群組。

  4. 在 [執行個體詳細資料] 下方:

    • 輸入 Web 應用程式的全域唯一名稱。
    • 選取 [容器]
    • 針對 [ 作系統],選取 [ Linux]。
    • 選取您要從中提供應用程式的區域

    [實例詳細數據] 區段的螢幕快照,其中提供虛擬機的名稱,並選取其區域、映像和大小。

  5. 在 [App Service 方案] 下,選取 [新建] App Service 方案。 輸入 myAppServicePlan 以取得名稱。 若要變更階層,請選取 [探索定價方案]、選取方案,然後選擇頁面底部的 [ 選取 ]。

    App Service 方案選項的螢幕快照。

  6. 在頁面頂端,選取 [ 容器] 索引標籤。

  7. 在 [容器] 索引標籤的 [映射來源] 中,選取 [Azure Container Registry]。 在 [Azure container registry options] \(Azure Container Registry 選項\) 下,設定下列值:

    • 登錄:選取您的 Azure Container Registry。
    • 映像:選取 [dotnetcore-docs-hello-world-linux]
    • 標籤:選取 [最新]

    顯示 Azure Container Registry 選項的螢幕擷取畫面。

  8. 選取頁面底部的 [檢閱 + 建立] 。

    顯示頁面底部 [檢閱及建立] 按鈕的螢幕擷取畫面。

  9. 驗證執行之後,選取 [建立]

  10. 部署完成之後,請選取 [移至資源]。

    顯示移至資源下一個步驟的螢幕擷取畫面。

瀏覽至應用程式

使用網頁瀏覽器瀏覽至已部署的應用程式 (URL 為 http://<app-name>.azurewebsites.net)。

Windows App Service 的螢幕快照,其中顯示容器在背景模式中未公開埠的訊息。

主機作系統會出現在頁尾中,確認它在 Windows 容器中執行。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 Azure 入口網站功能表或 [首頁] 頁面,選取 [資源群組]。 然後,在 [資源群組] 頁面上,選取 [myResourceGroup]

在 [myResourceGroup] 頁面上,確定所列出的資源是您想要刪除的項目。

選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]

恭喜,您已成功完成本快速入門。

每次啟動時,App Service 應用程式都會從容器登錄提取。 如果您重建映像,只要將其推送至容器登錄即可。 應用程式會在重新啟動時提取更新的映像。 若要通知應用程式立即提取更新的映像,請重新啟動。

Azure App 服務 提供在 IIS 上執行的預先定義應用程式堆疊,例如 ASP.NET 或Node.js。 預先設定的應用程式堆疊會 鎖定作系統,並防止低階存取。 自定義 Windows 容器沒有這些限制。 它們可讓開發人員完整自定義容器,並讓容器化應用程式完整存取 Windows 功能。

此快速入門顯示如何將 Windows 中的 ASP.NET 應用程式映像從 Microsoft Artifact Registry 部署至 Azure App Service。

必要條件

連接到 Azure

使用 Connect-AzAccount 命令登入您的 Azure 帳戶,並遵循提示:

Connect-AzAccount

建立資源群組

使用 New-AzResourceGroup 命令來建立資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。

下列範例會在 eastus 位置建立名為 myResourceGroup 的資源群組。 若要查看 App Service 的所有支援位置,請 執行 Get-AzLocation 命令。

New-AzResourceGroup -Name myResourceGroup -Location eastus

命令會傳 Login Succeeded回 。

建立 App Service 方案

使用 New-AzAppServicePlan 命令來建立新的 App Service 方案。

下列範例會在 PremiumV3 定價層 (-Tier PremiumV3) 中建立名為 myAppServicePlan 的 App Service 方案。 -HyperV 參數指定 Windows 容器。

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

建立 Web 應用程式

使用 New-AzWebApp 命令建立新的應用程式:

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Name 參數指定 Web 應用程式名稱。
  • AppServicePlan 參數指定 App Service 方案名稱。
  • Location 參數指定位置。
  • ResourceGroupName 參數指定資源群組的名稱。
  • ContainerImageName 參數指定容器映像名稱和選用標記。

此命令可能需要幾分鐘才能完成。

瀏覽至應用程式

使用網頁瀏覽器瀏覽至已部署的應用程式 (URL 為 http://<app-name>.azurewebsites.net)。

Windows App Service 的螢幕快照,其中顯示容器在背景模式中未公開埠的訊息。

清除資源

使用 Remove-AzResourceGroup 命令來移除資源群組:

Remove-AzResourceGroup myResourceGroup

恭喜,您已成功完成本快速入門。

每次啟動時,App Service 應用程式都會從容器登錄提取。 如果您重建映像,只要將其推送至容器登錄即可。 應用程式會在重新啟動時提取更新的映像。 若要通知應用程式立即提取更新的映像,請重新啟動。

Azure App 服務 在 WINDOWS 上提供預先定義的應用程式堆疊,例如在 IIS 上執行的 ASP.NET 或Node.js。 預先設定的應用程式堆疊會 鎖定作系統,並防止低階存取。 自定義 Windows 容器沒有這些限制。 它們可讓開發人員完整自定義容器,並讓容器化應用程式完整存取 Windows 功能。

此快速入門顯示如何將 Windows 中的 ASP.NET 應用程式映像從 Microsoft Artifact Registry 部署至 Azure App Service。

必要條件

連接到 Azure

使用 az login 命令登入您的 Azure 帳戶,並遵循提示:

az login

建立資源群組

使用 az group create 命令建立資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。

下列範例會在 eastus 位置建立名為 myResourceGroup 的資源群組。 若要查看 App Service 的所有支援位置,請執行 az appservice list-locations 命令。

az group create --name myResourceGroup --location eastus

建立 App Service 方案

使用 az appservice plan create 命令,以在資源群組中建立 App Service 方案。

下列範例會在 P1V3 定價層 (--sku P1V3) 中建立名為 myAppServicePlan 的 App Service 方案。

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

注意

如果您遇到錯誤, 此命令的行為已由下列擴充功能改變:appservice-kube,請移除 appservice-kube 擴充功能。

建立 Web 應用程式

使用 az webapp create 命令,以在 myAppServicePlan App Service 方案中建立自訂容器 Web 應用程式。 別忘了將 myContainerApp 取代為唯一的應用程式名稱 (有效字元為 a-z0-9-)。

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Name 參數指定 Web 應用程式名稱。
  • AppServicePlan 參數指定 App Service 方案名稱。
  • Location 參數指定位置。
  • ResourceGroupName 參數指定資源群組的名稱。
  • deployment-container-image-name 參數指定容器映像名稱和選用標記。

瀏覽至應用程式

使用網頁瀏覽器瀏覽至已部署的應用程式 (URL 為 http://<app-name>.azurewebsites.net)。

Windows App Service 的螢幕快照,其中顯示容器在背景模式中未公開埠的訊息。

清除資源

使用 az group delete 命令來移除資源群組:

az group delete --no-wait --name <resource_group>

恭喜,您已成功完成本快速入門。

每次啟動時,App Service 應用程式都會從容器登錄提取。 如果您重建映像,只要將其推送至容器登錄即可。 應用程式會在重新啟動時提取更新的映像。 若要通知應用程式立即提取更新的映像,請重新啟動。