1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Getting Started with Azure App Service

Creating a Linux Container


Introduction & Overview
API Documentation
Mobile Apps
Deployment Slots
Course Summary
2m 29s

The course is part of these learning paths

AZ-303 Exam Preparation: Technologies for Microsoft Azure Architects
AZ-104 Exam Preparation: Microsoft Azure Administrator
more_horizSee 3 more
Start course


You’ve got an idea for a great web app, or maybe you’ve already started building it. The next question is how are you going to get it out there on the Internet?

In this course, you will learn how you can quickly and easily set up a website and publish your app to the world with Azure App Service. Of course, web apps are a lot more complex and varied than just HTML pages and we will see how App Service supports a range of programming languages, frameworks, and even operating systems. We will explore features that greatly simplify application deployment and management, as well as those that will increase your app’s functionality like authentication and accessing on-premise data. App Service as with other Azure products has a raft of tools for monitoring and logging so you can make sure your app is performing optimally.

For any feedback, queries, or suggestions relating to this course, please contact us at support@cloudacademy.com.

Learning Objectives

  • Deploy apps using the Azure App Service
  • Create a web app using the Azure Portal
  • Create a web app using Visual Studio
  • Understand the configuration and diagnostic capabilities available from Azure App Service
  • Understand the advanced features of the service such as container deployment and deployment slots

Intended Audience

This is a beginner level course suited developers or anyone wanting to know how to deploy web apps to the Azure cloud.


To get the most from this course, you should have a basic understanding of the software development lifecycle, while knowing how to code would be a plus.


Course source code

Visual 2019 with .NET Core 3.1 was used for the demonstrations in this course.






Let’s start by creating an Azure Container Registry to store our container image. I’m going to put it in a Linux container resource group I’ve created. Going back to Visual Studio I can create a new publishing profile targeting my new Azure container registry. I’ll select the lorrylogmobile registry, click OK and then click publish. After the container image has been pushed to the registry we can go back to the Azure portal and when we look in the repositories we can see it. Ok, now we need an App Service for our container. I’ll create a new App Service using the same Linux container resource group. Give it the name lorrylogapi. This name is just coincidentally the same as the repository name, they don’t have to be the same. I want to publish a Docker Container to Linux. Next, I want to set the source for my container. The container image is going to come from the Azure Container Registry I’ve just created. The image is lorrymobileapi I’ve just uploaded from Visual Studio

This is a good place to point out a couple of potential pitfalls when setting up your app service, and in particular when connecting to an Azure container registry. If you recall from earlier, I had a couple of container registries to choose from when publishing the app. The one I didn’t choose has the admin user under access keys disabled. You will not be able to set up the link between your app service and the registry while the admin user is disabled. This also applies to changing the registry an existing app service pulls from. Once the link between the app service and the registry is established you can then disable the admin user. Another thing to bear in mind is that you cannot mix Windows and Linux app services within the same app plan. An app plan must either be completely windows app services or completely Linux app services.

Once the App Service has been created we can have a look at container settings and we can see in the logs right at the top - Pulling image: lorrylogmobile,azurecr.io/lorrymobileapi:latest. The final line of the log is telling us the container has been successfully deployed and is ready to serve requests - and sure enough, it is.

About the Author

Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a  Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.