|
| 1 | +--- |
| 2 | +title: Deploy an ASP.NET Core Docker container to Azure App Service | Microsoft Docs |
| 3 | +description: Learn how to use Visual Studio Tools for Docker to deploy an ASP.NET Core web app to Azure App Service |
| 4 | +author: ghogen |
| 5 | +manager: jillfra |
| 6 | +ms.technology: vs-azure |
| 7 | +ms.devlang: dotnet |
| 8 | +ms.topic: article |
| 9 | +ms.date: 03/08/2019 |
| 10 | +ms.author: ghogen |
| 11 | +--- |
| 12 | +# Deploy an ASP.NET Core container to Azure App Service using Visual Studio |
| 13 | + |
| 14 | +This tutorial walks you through using Visual Studio to publish your containerized ASP.NET Core web application to an [Azure App Service](/azure/app-service). Azure App Service is an appropriate service for a single-container web app hosted in Azure. |
| 15 | + |
| 16 | +If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/dotnet/?utm_source=acr-publish-doc&utm_medium=docs&utm_campaign=docs) before you begin. |
| 17 | + |
| 18 | +## Prerequisites |
| 19 | + |
| 20 | +To complete this tutorial: |
| 21 | + |
| 22 | +::: moniker range="vs-2017" |
| 23 | +- Install the latest version of [Visual Studio 2017](https://azure.microsoft.com/downloads/) with the "ASP.NET and web development" workload |
| 24 | +::: moniker-end |
| 25 | +::: moniker range=">=vs-2019" |
| 26 | +- [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs2019+rc) with the *ASP.NET and web development* workload. |
| 27 | +::: moniker-end |
| 28 | +- Install [Docker Desktop](https://docs.docker.com/docker-for-windows/install/) |
| 29 | + |
| 30 | +## Create an ASP.NET Core web app |
| 31 | + |
| 32 | +The following steps guide you through creating a basic ASP.NET Core app that will be used in this tutorial. |
| 33 | + |
| 34 | +::: moniker range="vs-2017" |
| 35 | +1. From the Visual Studio menu, select **File > New > Project**. |
| 36 | +2. Under the **Templates** section of the **New Project** dialog box, select **Visual C# > Web**. |
| 37 | +3. Select **ASP.NET Core Web Application**. |
| 38 | +4. Give your new application a name (or take the default) and select **OK**. |
| 39 | +5. Select **Web Application**. |
| 40 | +6. Check the **Enable Docker Support** checkbox. |
| 41 | +7. Select the **Linux** container type and click **OK**. Windows containers are not supported to deploy to Azure App Service as a container. |
| 42 | +::: moniker-end |
| 43 | +::: moniker range=">= vs-2019" |
| 44 | +1. From the Visual Studio **Start** window, choose **Create a new project**. |
| 45 | +1. Choose **ASP.NET Core Web Application**, and choose **Next**. |
| 46 | +1. Give your new application a name (or take the default) and choose **Create**. |
| 47 | +1. Choose **Web Application**. |
| 48 | +1. Choose whether or not you want SSL support by using the **Configure for HTTPS** checkbox. |
| 49 | +1. Check the **Enable Docker Support** checkbox. |
| 50 | +1. Select the **Linux** container type, and click **Create**. Windows containers are not supported to deploy to Azure App Service as a container. |
| 51 | +::: moniker-end |
| 52 | + |
| 53 | +## Deploy the container to Azure |
| 54 | + |
| 55 | +1. Right-click your project in **Solution Explorer** and choose **Publish**. |
| 56 | +1. On the publish target dialog, choose **App Service Linux**. |
| 57 | +1. You can publish only to App Service, or you can publish to both App Service and Azure Container Registry (ACR). To publish the container in an Azure Container Registry (ACR), choose **Create new App Service for containers**, and click **Publish**. |
| 58 | + |
| 59 | +  |
| 60 | + |
| 61 | + To publish only to an Azure App Service without using Azure Container Registry, choose **Create new**, and click **Publish**. |
| 62 | + |
| 63 | +1. Check that you're signed in with the account that's associated with your Azure subscription, and choose a unique name, subscription, resource group, hosting plan, and container registry (if applicable), or accept the defaults. |
| 64 | + |
| 65 | +  |
| 66 | + |
| 67 | +1. Choose **Create**. Your container is deployed to Azure in the resource group and container registry you selected. This process takes a bit of time. When it's completed, the **Publish** tab shows information about what was published, including the site URL. |
| 68 | + |
| 69 | +  |
| 70 | + |
| 71 | +1. Click on the site link to verify your app works as expected in Azure. |
| 72 | + |
| 73 | +  |
| 74 | + |
| 75 | +1. The publishing profile is saved with all the details you selected, such as the resource group and container registry. |
| 76 | +1. To deploy again with the same publishing profile, use the **Publish** button, the **Publish** button on the **Web Publish Activity** window, or right-click on the project in **Solution Explorer** and choose the **Publish** item on the context-menu. |
| 77 | + |
| 78 | +## Clean up resources |
| 79 | + |
| 80 | +To remove all Azure resources associated with this tutorial, delete the resource group using the [Azure portal](https://portal.azure.com). To find the resource group associated with a published web application, choose **View** > **Other Windows** > **Web Publish Activity**, and then choose the gear icon. The **Publish** tab opens, which contains the resource group. |
| 81 | + |
| 82 | +In the Azure portal, choose **Resource groups**, select the resource group to open its details page. Verify that this is the correct resource group, and then choose **Remove resource group**, type the name, and choose **Delete**. |
| 83 | + |
| 84 | +## Next steps |
| 85 | + |
| 86 | +Set up continuous integration and delivery (CI/CD) with [Azure Pipelines](/azure/devops/pipelines/?view=azure-devops). |
| 87 | + |
| 88 | +## See also |
| 89 | + |
| 90 | +[Deploy to Azure Container Registry](vs-azure-tools-docker-hosting-web-apps-in-docker.md) |
0 commit comments