Deploy an ASP.NET container to a container registry using Visual Studio
Docker is a lightweight container engine, similar in some ways to a virtual machine, which you can use to host applications and services. This tutorial walks you through using Visual Studio to publish your containerized application to an Azure Container Registry.
If you don't have an Azure subscription, create a free account before you begin.
To complete this tutorial:
- Install the latest version of Visual Studio 2017 with the "ASP.NET and web development" workload
- Install Docker for Windows
1. Create an ASP.NET Core web app
The following steps guide you through creating a basic ASP.NET Core app that will be used in this tutorial.
- From the Visual Studio menu, select File > New > Project.
- Under the Templates section of the New Project dialog box, select Visual C# > Web.
- Select ASP.NET Core Web Application.
- Give your new application a name (or take the default) and select OK.
- Select Web Application.
- Check the Enable Docker Support checkbox.
- Select the type of container you want (Windows or Linux) and click OK.
2. Publish your container to Azure Container Registry
Right-click your project in Solution Explorer and choose Publish.
On the publish target dialog, select the Container Registry tab.
Choose New Azure Container Registry and click Publish.
Fill in your desired values in the Create a new Azure Container Registry.
Setting Suggested value Description DNS Prefix Globally unique name Name that uniquely identifies your container registry. Subscription Choose your subscription The Azure subscription to use. Resource Group myResourceGroup Name of the resource group in which to create your container registry. Choose New to create a new resource group. SKU Standard Service tier of the container registry Registry Location A location close to you Choose a Location in a region near you or near other services that will use your container registry.
You can now pull the container from the registry to any host capable of running Docker images, for example Azure Container Instances.