DevOps and Docker Support for .NET Core Blazor Applications
4.0 (1 rating)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
39 students enrolled

DevOps and Docker Support for .NET Core Blazor Applications

Intending to Convert Blazor Apps into Containers with DevOps Concepts? You have come to the right place.
4.0 (1 rating)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
39 students enrolled
Last updated 6/2020
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 1 article
  • 9 downloadable resources
  • 1 Practice Test
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • The students will learn the containerizing of Blazor Applications with Docker
  • Publishing to Azure Container Registry
Course content
Expand all 51 lectures 04:37:28
+ Introduction
1 lecture 04:57

Welcoming the students and introduce them to the course. Presents a course overview and highlights the important contents.

Preview 04:57
+ Concept of Docker, Containers and Images
4 lectures 13:40

This lecture covers the basics of containers and docker as a host. It explains the features and the importance of containerization of applications.

Preview 05:13

This lecture explains the process of working of containers within its host. After the end of this lecture, the learners will have a fair understanding of how the containers work and the base images on which they are built. They'll know the important fact that the base image provides them with the operating system services.

Preview 01:56

This lecture makes a short comparison between the two: docker containers and virtual machines. It focusses on the relative merits and demerits of both and gives the learners an opportunity to know why the containers are so important for deploying apps in the IT industry?

Comparing Docker Containers with Virtual Machines

This lecture discusses some often-used definitions and terminology in the docker world. The students will benefit to know them while building images and containers in the rest of this course.

Some Terminology
This is a matching column type (left to right) questions just to start the course on a light-hearted note.
Docker Concepts
1 question
+ Containerising Blazor Apps Using Docker
10 lectures 53:16

This is a docker commands usage lecture that will prepare the students to perform various operations with the docker commands for creating images, containers and managing them with some housekeeping ones.

Some Oft Used Docker Commands

This lecture covers the fundamentals of creating a Dockerfile. It covers all the keywords and builds, explains a simple dockerfile.

Fundamentals of a Dockerfile

This lecture walks through creating a Blazor Server application with docker support enabled on Windows platform.

Preview 02:37

This lecture is a discussion and explanation of the dockerfile created earlier with the Blazor Server template project.

Analysing the Dockerfile

This lecture discusses the steps for creating a container for the Blazor Server Application. The students will be able to write the commands to containerize their Blazor application.

Preview 05:43

This lecture introduces the different kinds of challenges faced for Blazor WASM containerisation. It introduces nginx open-source server as a host for serving static contents when the Web Assembly (WASM) app is published.

Containerising the Blazor Web Assembly (WASM) -Concepts

This lecture shows how to create a Blazor Web Assembly app. This project will henceforth become our base for docker containerisation.

Preview 01:46

In this lecture, students are shown how to add a Dockerfile to the Web Assembly project and then we go on to complete the Dockerfile and discuss it.

Preview 06:39

This lecture demonstrates the building of a docker image from the dockerfile. It then goes on to show the process of creating and running a docker container from the image. In the process, the terminal commands for achieving the above are also discussed in detail.

Preview 05:17

This lecture deals in creating a public repository on the docker hub. It then teaches how to push a local docker image to the remote docker hub repository.

Pushing Images to Docker Hub

This is a practice test of what the students have learned so far until this section. It's intended to be just a fun and at the same time a means of self-testing while learning.

Practice Test Docker Containers
5 questions
This is an assessment to check how far the learners have grasped the Dockerfile commands. Dockerfile is the single most important thing for building images and containers. Having confidence in crafting a Dockerfile will be a stepping stone for grasping the subject further.
Interpret a Dockerfile
1 question
+ Optional: Creating a GitHub Repository for Later Use
1 lecture 05:34

This is an optional lecture for beginners who would like to learn how to create a repo in GitHub which will be essential for following the rest of this course. Experienced professionals and those learners who know the topic can skip it.

How to Create a GitHub Repository from Visual Studio?
+ DevOps Fundamentals
4 lectures 14:39

In this lecture, DevOps as a process or culture is explained with slide shows.

What is DevOps?

This lecture explains the Continuous Integration aspect of DevOps.

About Continuous Integration (CI)

This lecture explains the Continuous Delivery aspect of DevOps.

About Continuous Delivery (CD)

This lecture explains the Continuous Deployment aspect of DevOps.

About Continuous Deployment (CD)

It is a fun learning quiz on DevOps.

DevOps is Fun!
5 questions
+ Publishing and continuous deployment on Azure (from project code)
6 lectures 16:39

Describes the Microsoft Azure subscription.

Microsoft Azure Subscription

This lecture discusses and walks through the steps to publish the Blazor Server app to the Microsoft Azure portal.

Preview 04:04

The students are taught the process of updating and redeploying the Blazor Server app to Azure.

Update the App and Redeploy

In this lecture, how we can manage the Azure Web App is discussed in details.

Manage the Azure App

This lecture teaches how to clean up (delete) resources that we don’t expect to need in the future.

Clean up Resources on Azure

This lecture describes the process of the continuous delivery pipeline building on Azure to automate the changes to the code repository to reflect on the browser directly.

Enable Continuous Deployment
+ Continuous deployment to Azure from docker image
2 lectures 08:08

In this lecture, publishing a docker image to Azure Container Registry is discussed and shown with a walkthrough.

Publishing container to Azure Container Registry from Visual Studio Environment

In this lecture, the students learn how to configure the azure pipeline for continuous delivery from Azure Container Registry. This automates the process whenever any changes are pushed to GitHub (source repository) the web app is updated from the docker image without any manual intervention.

Continuous delivery to Azure from Visual Studio
+ Multi-Container Apps Including SQL Container with Docker Orchestration
16 lectures 01:24:23
Docker Orchestration (with docker-compose)

A Blazor Server app with individual user accounts is created in this lecture.

Preview 04:05

This lecture walks through the steps to update the Startup class to complete any pending EF migration.

Preview 02:04

In this lecture, the necessary docker commands are shown and used to pull an SQL docker image and run a docker container

Preview 07:02

Here the learners are shown how to access the container created to browse through the Blazor App.

Browse the Blazor App through the Container

The lecture shows the registering of a user in the  containerised app which is used to log in the user.

Register and Login to the App

The SQL container so created in the earlier lectures is accessed in this lecture. The database is queried from the container by the Windows Command terminal.

Access the Container and Query the Database

In this lecture, the release version of the Blazor Server (template) App is published to an output dist directory. The files in this directory are made ready to be deployed to the container later.

Publish the Release Version of the Blazor Server App

This lecture inspects the release directory for it's published contents and shows the Main DLL by running it which fails as expected (due to SQL database container not running). This lecture emphasizes the need for running multi containers for a data-driven app.

Inspect the Release Directory and Run Main.DLL file

This lecture shows the modification of the connection string to accept environment variables that make the database scalable for any host, port, or database name.

Modify Startup Class to Pass Environment Variables

After attending this lecture, the students will know how to add a dockerfile to the web project and add commands to it along with understanding these commands. 

Add a Dockerfile to the Blazor Server App

This lecture shows the creation of a PowerShell script which is included in the project to make the web app container wait for SQL database container on port 1433 to be ready and loaded first before the web app UI container.

Create a PowerShell Script to Make Webapp Wait

The project file is modified in this lecture to include the PS script in all its builds.

Modify the Project File to Include the PS Script

In this lecture the output dist directory is deleted and re-published with a suitable command to now include the shell script in the release version.

Delete the Output Directory and Re-publish it

This lecture brings up the docker-compose (.yml) file that is the key component in multi-container docker orchestration.

Create a Docker Compose File

In this lecture, both (blazor app and SQL database)  containers are orchestrated through docker-compose tool and run in the containerised state.

Preview 06:46
This is an assignment that has questions with short (1-2 sentences) answers.
Multi-Container and Docker Orchestration Assignment
5 questions
The objective of this assignment to have a quick assessment of the student's grasp on the docker-compose tool including the concepts of the docker-compose.yml (pronounced "YAML" file)
Docker-Compose tool
4 questions
+ Windows Subsystem for Linux 2 for Dockerized Blazor App Development
7 lectures 01:00:53

This is an introductory lecture on Windows Subsystem for Linux, popularly known as WSL created by Microsoft Inc. In this lecture, the students will understand the reasons for using WSL. After completing this lecture, students will have an understanding of WSL and will be able to create and run a few basic Linux commands on Windows through WSL.

Preview 08:41

This lecture highlights the differences of architecture between WSL 1 and its improved version of WSL 2. WSL 2 is the newest architecture for the Windows Subsystem for Linux.

After going through this lecture, students will know both the architectures and appreciate the differences between them

Difference in Architecture between WSL 1 and WSL 2

This lecture provides a comparative study between WSL 1 and WSL 2 and provides justification to choose WSL 2 for building docker images and containers.

Why Choose WSL 2 over WSL 1 for Dockerisation?

This lecture provides a complete walkthrough of the installation of both WSL 1 and WSL 2 on Windows 10. Learners can prepare themselves with the WSL environment for further working on to create docker images and containers using WSL.

Installation of WSL for Windows 10

This is a preparatory lecture for configuring the docker desktop application to work in sync with WSL. After this lecture, the students will be able to progress further towards using WSL to create containers and images from ASP.NET Core 3.1 Blazor applications.

Configuration of Docker Desktop for WSL

This lecture is a complete walk-through of creating a Blazor Web Assembly docker container using WSL 2 and Visual Studio Code. Students will be proficient in creating docker containers using the Linux Ubuntu bash shell inside the Windows 10 O.S.

Preview 14:12

In this lecture, the existing Blazor project code is edited and the container regenerated to prove that containerization indeed is an authentic way to deploy an app.

Edit Code and Regenerate Container
  • Prior Installation of : Visual Studio Community 2019 (free)
  • Docker Desktop for Windows (latest stable)
  • Visual Studio Code with C# extension

Hi there, my name is Kaushik Roy Chowdhury. I am a Microsoft Certified Professional and hold a Master's Degree in Computer Science from Auckland University of  Technology (AUT).

Are you struggling to containerize your ASP.NET Core 3.1 applications in general and ASP.NET Core 3.1 Blazor applications in particular? This course will allow you to use Docker professionally for creating highly portable containers across all types of hosts including on cloud like Microsoft Azure. You would be able to add Docker and DevOps skills in your resume and be ahead of the pack for a great leap in your software development career.

In this course, I will teach you everything you need to know about getting started with Docker for containerizing Blazor and in general any ASP.NET Core web applications. You'll learn how to use Docker Desktop for use in Blazor applications and hosting it on the Microsoft Azure cloud. It will show you the steps to create an automated pipeline for continuous deployment on Azure.

One of the many highlights of this course is the use of Visual Studio 2019 as well as the Visual Studio Code (at the end) as IDE for development.

There is a section at the end on working with Windows Subsystem for Linux (WSL) which is the latest cutting edge contribution from Microsoft that lets the developers use Linux tools and distributions right from within Windows 10 OS without having to install any virtual machine and/or using Apple Mac OS or a dedicated Linux Operating System. This technology has endeared development on Windows more than ever before. This section makes sure that the learners are able to create docker containers in Linux on Windows 10 OS.

The course is for beginners. You do not need any previous knowledge of docker, images, Blazor, or Azure. We shall start from the very beginning and work our way through step by step.

Here are some of my earlier reviews from other courses on Udemy:

"Great material. Learned a lot."  - John Taylor (Master Collection Classes in C# Using Visual Studio)

"Kaushik's course's are my main reference for anything C# - I find his explanations full of detail which helps to solidify a full understanding of even the most complex aspects of C# programming." - Martin Catherall (Microsoft MVP) - Master Collection Classes in C# Using Visual Studio

"to whom all want to know what is MongoDB and use it with MVC Core i would strongly recommend you to attend in this course . i find the way how he is presenting the course its like at college when the Professor start with explaining the concept of the subject then get in practices. the last section 7 you will do more code with him with good explanation" - Abdalla Ben Omran (ASP.NET Core 3 with MVC and MongoDB)

"An elaborate and detailed description for a beginner. The author has put a lot of effort into structuring the content. Certainly proved useful to me as a starter." - Sudeep Ghatak (ASP.NET Core 3 with MVC and MongoDB)

Well explained in detail. - Fred Handal (Build and Learn ASP.NET Core 3.1 Blazor Hands-On

It's a nice introduction into Blazor server side where you got a good understanding of Blazor fundamentals - Seb Lowe (Build and Learn ASP.NET Core 3.1 Blazor Hands-On)

Who this course is for:
  • Beginner to Advanced level students who would like to learn docker support in Blazor