在 Azure 中執行自訂容器

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

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

若要完成本快速入門,您需要:

1 - 建立 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. 在 [驗證] 底下,選取 []。 在 [進階] 底下,選取 [Docker 支援],然後取消核取 [設定 HTTPS]。 選取 建立

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

  6. 如果未自動開啟 Dockerfile 檔案,請從 方案總管 開啟它。

  7. 您需要 支援的父映像。 將行取代 FROM 為下列程式代碼並儲存盤案,以變更父映像:

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

    在本機執行之應用程式的螢幕快照。

2 - 發佈至 Azure Container Registry

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

  2. [目標] 中,選取 [Docker Container Registry],然後選取 [ 下一步]。

    [選取 Docker Container Registry] 畫面的螢幕快照。

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

    [從專案發佈概觀] 頁面的螢幕快照。

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

    [建立新的 Azure Container Registry] 畫面的螢幕快照。

  5. [新建] 中,確定已選擇正確的訂用帳戶。 在 [資源群組] 底下,選取 [新增] 並輸入 myResourceGroup 以取得名稱,然後選取 [確定]。 在 [SKU] 底下,選取 [基本]。 在 [登錄位置] 下,選取登錄的位置,然後選取 [ 建立]。

    Azure Container Registry 詳細數據的螢幕快照。

  6. [發佈] 的 [容器登錄] 底下,選取您所建立的登錄,然後選取 [完成]。

    [選取現有的 Azure Container Registry] 畫面的螢幕快照。

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

    醒目提示存放庫名稱的螢幕快照。

3 - 建立 Windows 自定義容器

  1. 登入 Azure 入口網站

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

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

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

  5. 提供應用程式名稱,例如 win-container-demo。 針對 [發佈] 選擇 [Docker 容器],然後選擇 [適用於操作系統Windows]。 選取 [ 下一步:Docker ] 以繼續。

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

  6. 針對 [映射來源],選擇 [Docker Hub] 和 [映射和卷標],輸入您在 [發佈至 Azure Container Registry] 中複製的存放庫名稱。

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

    如果您的 Web 應用程式其他地方有自定義映像,例如在 Azure Container Registry 或任何其他私人存放庫中,您可以在這裡進行設定。 選取 [ 檢閱 + 建立] 以繼續。

  7. 確認所有詳細數據,然後選取 [ 建立 ],然後等候 Azure 建立所需的資源。 建立您是適用於容器的 Web 應用程式螢幕快照。

4 - 瀏覽至自訂容器

當 Azure 作業完成時,會顯示通知方塊。

部署成功的螢幕快照。

  1. 按一下 [前往資源]。

  2. 在此資源的概觀中,遵循 URL的連結。

新的瀏覽器頁面隨即開啟至下列頁面:

Windows 自定義容器啟動的螢幕快照。

請稍候幾分鐘,然後再試一次,直到您取得預設 ASP.NET 首頁:

執行 Windows 自定義容器的螢幕快照。

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

5 - 查看容器啟動記錄

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

6 - 在本機更新並重新部署

  1. 在 Visual Studio 的 方案總管 中,開啟 Views>Home>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 提取新映射,請重新啟動應用程式。 回到入口網站中的應用程式頁面,按兩下 [重新啟動>是]。

    App Service 概觀的螢幕快照,其中已醒目提示 [重新啟動] 按鈕。

再次流覽至自定義容器 。 當您重新整理網頁時,應用程式應該會先還原為 [啟動] 頁面,然後在幾分鐘后再次顯示更新的網頁。

Azure 中已更新 Web 應用程式的螢幕快照。

7 - 清除資源

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

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

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

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

下一步

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

注意

如需在無伺服器環境中執行容器化應用程式的相關信息,請參閱 Container Apps

若要完成本快速入門,您需要:

  • Azure 帳戶
  • Docker
  • Visual Studio Code
  • VS Code 的 Azure App 服務 延伸模組。 您可以使用此延伸模組,在 Azure 平臺即服務 (PaaS) 上建立、管理及部署 Linux Web Apps。
  • 適用於 VS CodeDocker 擴充功能。 您可以使用此擴充功能來簡化本機 Docker 映像和命令的管理,以及將建置的應用程式映射部署至 Azure。

1 - 建立容器登錄

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

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

重要

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

2 - 登入

  1. 啟動 Visual Studio Code。

  2. 選取活動列中的 Azure 標誌,流覽至 APP SERVICE 總管,然後選取 [登入 Azure],然後遵循指示。

    在 Visual Studio Code 中登入 Azure 的螢幕快照。

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

  4. 在 [活動列] 中 ,選取 Docker 標誌。 在 [REGISTRIES]管中,確認您建立的容器登錄隨即出現。

    此螢幕快照顯示已展開 Azure 的 [登錄] 值。

3 - 檢查必要條件

確認您已安裝並執行 Docker。 如果 Docker 版本正在執行,下列命令將會顯示它。

docker --version

4 - 建立和建置映射

  1. 在 Visual Studio Code 中,開啟空的資料夾,並新增名為 Dockerfile的檔案。 在 Dockerfile 中,根據您想要的語言架構貼上內容:
FROM mcr.microsoft.com/appsvc/dotnetcore:lts

ENV PORT 8080
EXPOSE 8080

ENV ASPNETCORE_URLS "http://*:${PORT}"

ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]

在此 Dockerfile 中,父映像是 App Service 的其中一個內建 .NET 容器。 您可以在 GenerateDockerFiles/dotnetcore 底下的 Azure-App-Service/ImageBuilder GitHub 存放庫中找到其來源檔案。 其 Dockerfile 會將簡單的 .NET 應用程式 /defaulthome/hostingstart複製到 。 您的 Dockerfile 只會啟動該應用程式。

  1. 開啟命令選擇區,然後輸入 Docker 映射:建置映像。 輸入 Enter 以執行命令。

  2. 在 [映射卷標] 方塊中,以下列格式指定您想要的標記: <acr-name>.azurecr.io/<image-name>/<tag>,其中 <acr-name> 是您所建立容器登錄的名稱。 按 Enter 鍵。

  3. 映射完成建置時,按兩下 [映像總管] 頂端的 [重新整理],並確認映像已順利建置。

    此螢幕快照顯示具有標籤的已建置影像。

5 - 部署至容器登錄

  1. 在 [活動列] 中 ,按兩下 Docker 圖示。 在 [映射 總管] 中,尋找您建置的映像。

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

  3. 請確定影像標籤開頭為 <acr-name>.azurecr.io ,然後按 Enter 鍵。

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

    此螢幕快照顯示部署至 Azure 容器登錄的映像。

6 - 部署至 App Service

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

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

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

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

7 - 瀏覽網站

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

8 - 清除資源

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

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

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

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

下一步

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

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

其他 Azure 擴充功能:

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

注意

如需在無伺服器環境中執行容器化應用程式的相關信息,請參閱 Container Apps

若要完成本快速入門,您需要:

1 - 複製範例存放庫

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

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

2 - 將映射推送至 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。 如需設定容器的詳細資訊,請參閱 設定自定義容器

3 - 部署至 Azure

登入 Azure 入口網站

登入 Azure 入口網站

建立 Azure 資源

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

    在 Azure 入口網站 中搜尋「應用程式服務」的螢幕快照。

  2. 在 [App Service] 頁面中,選取 [+ 建立]

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

    [專案詳細數據] 區段的螢幕快照,其中顯示您為 Web 應用程式選取 Azure 訂用帳戶和資源群組的位置。

  4. [實例詳細數據] 底下,輸入 Web 應用程式的全域唯一名稱,然後選取 [Docker 容器]。 針對 [操作系統] 選取 [Linux]。 選取您要從中提供應用程式的區域

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

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

    您提供系統管理員使用者名稱和密碼之 [管理員 istrator 帳戶] 區段的螢幕快照。

  6. 選取頁面底部的 [ 下一步:Docker] > 按鈕。

  7. 在 [Docker] 索引卷標中,針對 [映射來源] 選取 [選項] 和 [Azure Container Registry] 底下的 [單一容器]。 在 [Azure Container Registry 選項] 底下,設定下列值:

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

    顯示 Azure Container Registry 選項的螢幕快照。

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

    顯示頁面底部 [檢閱和建立] 按鈕的螢幕快照。

  9. 執行驗證後,選取頁面底部的 按鈕。

  10. 當部署完成時,選取 [前往資源]

    顯示下一個步驟前往資源的螢幕快照。

4 - 瀏覽至應用程式

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

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

5 - 清理資源

在上述步驟中,您已建立資源群組中的 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 服務。

若要完成本快速入門,您需要:

1 - 複製範例存放庫

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

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

2 - 將映射推送至 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。 如需設定容器的詳細資訊,請參閱 設定自定義容器

3 - 部署至 Azure

登入 Azure 入口網站

登入 Azure 入口網站

建立 Azure 資源

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

    在 Azure 入口網站 中搜尋「應用程式服務」的螢幕快照。

  2. 在 [App Service] 頁面中,選取 [+ 建立]

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

    [專案詳細數據] 區段的螢幕快照,其中顯示您為 Web 應用程式選取 Azure 訂用帳戶和資源群組的位置。

  4. [實例詳細數據] 底下,輸入 Web 應用程式的全域唯一名稱,然後選取 [Docker 容器]。 針對 [操作系統] 選取 [Windows]。 選取您要從中提供應用程式的區域

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

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

    您提供系統管理員使用者名稱和密碼之 [管理員 istrator 帳戶] 區段的螢幕快照。

  6. 選取頁面底部的 [ 下一步:Docker] > 按鈕。

  7. 在 [Docker] 索引卷標中,選取 [映射來源] 的 [Azure Container Registry]。 在 [Azure Container Registry 選項] 底下,設定下列值:

    • 登錄:選取您的 Azure Container Registry。
    • 影像:選取 dotnetcore-docs-hello-world-windows
    • 標籤:選取最新

    顯示 Azure Container Registry 選項的螢幕快照。

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

    顯示頁面底部 [檢閱和建立] 按鈕的螢幕快照。

  9. 執行驗證後,選取頁面底部的 按鈕。

  10. 當部署完成時,選取 [前往資源]

    顯示下一個步驟前往資源的螢幕快照。

4 - 瀏覽至應用程式

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

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

請注意,主機操作系統會出現在頁尾中,確認我們正在 Windows 容器中執行。

5 - 清理資源

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

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

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

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

下一步

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

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

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

本快速入門說明如何將 Windows 映像中的 ASP.NET 應用程式從 Microsoft 成品登錄 部署到 Azure App 服務。

若要完成本快速入門,您需要:

1 - 連線 至 Azure

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

Connect-AzAccount

2 - 建立資源群組

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

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

New-AzResourceGroup -Name myResourceGroup -Location eastus

此命令會在完成後傳 Login Succeeded 回。

3 - 建立 App Service 方案

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

下列範例會在 進階版 V3 定價層中建立名為 myAppServicePlanApp Service 方案。-Tier PremiumV3 參數 -HyperV 會指定 Windows 容器。

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

4 - 建立 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 參數會指定容器映像名稱和選擇性標記。

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

5 - 瀏覽至應用程式

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

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

6 - 清除資源

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

Remove-AzResourceGroup myResourceGroup

下一步

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

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

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

本快速入門說明如何將 windows 映射中的 ASP.NET 應用程式從 Microsoft 成品登錄 部署到 Azure App 服務。

若要完成本快速入門,您需要:

1 - 連線 至 Azure

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

az login

2 - 建立資源群組

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

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

az group create --name myResourceGroup --location eastus

3 - 建立 App Service 方案

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

下列範例會在 P1V3 定價層中建立名為 myAppServicePlanApp Service 方案。--sku P1V3

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

注意

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

4 - 建立 Web 應用程式

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

az webapp create --name myContainerApp --plan myAppServicePlan --location eastus --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 參數會指定容器映射名稱和選擇性標記。

5 - 瀏覽至應用程式

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

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

6 - 清除資源

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

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

下一步

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

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