A container is a standard unit of software that packages code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
In this module, you will learn about Container fundamentals.
- Containers Overview
- Containers versus Virtual Machines
- Container Fundamentals
- Docker Editions
Windows and Linux Containers
Container technology is supported in both Windows and Linux. In this module you will learn how to prepare a Windows and a Linux host to run containers.
- Windows Containers
- Deploy a Windows Container Host
- Linux Containers on Windows
- Linux Containers
- Deploy a Linux Container Host
- LAB: Windows and Linux Containers
Docker is the leader in container software and provides the platform for you to run your containers. In this module, you will learn
how to create and run containers with Docker.
You will also take a look at other technologies provided by Docker to help you with container management: Docker Hub, Docker Compose and Docker Swarm.
- Docker Overview
- Docker Commands
- Container Networking
- Docker Hub
- Docker Compose
- Docker Swarm
- LAB: Docker
Applications in Containers
Even though this course does not target developers, even for IT Pros it is important to understand applications and their architecture,
especially when working with containers. This module gives you an overview of the evolution of software architecture and what an ideal container application looks like.
- Software Architecture Evolution
- .NET Core versus .NET Framework
- Migrate Existing Applications
- Databases and Containers
Kubernetes is an open-source orchestration tool that will help you deploy and manage your containers across several different hosts.
Kubernetes uses a declarative approach that lets you specify what you want to deploy. Kubernetes then creates all the necessary objects for you.
In this module you will learn about the various components within a Kubernetes cluster and the different methods to run your cluster.
You will also take a look at basic Kubernetes resources like pods and volumes.
- Kubernetes Overview
- Kubernetes Cluster
- Cluster Hosting Options
- Azure Kubernetes Service
- Kubernetes Building Blocks: Pods, Volumes
- LAB: Kubernetes
Container Deployment with Kubernetes
Once your cluster is up and running, you need to manage your containers. Deployments guarantee that the necessary pods are always available. They provide an easy update method and let
you scale your deployment by adding replicas. Services make sure you can easily communicate with the applications in your cluster, no matter what pods are active.
- Update a Deployment
- Networking in Kubernetes
- AKS Networking Options
- LAB: Container Deployment with Kubernetes
Container Management with Kubernetes
An Ingress Controller allows you to setup a load balancing solution to forward external traffic to your Kubernetes services. Sensitive information can be provided to a container through the use of secrets.
With namespaces you can group resources in your cluster for extra security or to control network traffic routing.
- Secrets and ConfigMaps
- Network Policies
- Health Monitoring
- Monitor the Kubernetes Cluster and Containers
- LAB: Container Management with Kubernetes
Container Technology in Azure
Azure provides a whole infrastructure for managing and hosting containers. From simple basic containers (Azure Container Instances) that can be deployed without any configuration,
to advanced services that built and manage entire Kubernetes clusters for you.
- Azure Container Registry
- Azure Container Instances
- Web App for Containers
- Azure Container Apps
- LAB: Container Technology in Azure
Containers provide a very useful platform to host applications. They are light-weight and performant and can easily be redeployed across different environments.
Docker provides a container runtime and CLI besides a few other container management tools, such as Docker Hub and Docker Compose.
In this course students will learn to build Docker containers on both Windows and Linux.
When working in a containerized environment, you will need an orchestration tool to simplify the deployment and configuration of your containers.
That is where Kubernetes comes into play. Using a declarative approach, where you state what you need in your cluster, the Kubernetes engine makes sure your applications and
containers remain available at all times. Kubernetes can be setup on premises or on a cloud platform. In this course we will create an Azure Kubernetes Cluster (AKS) to learn about the
benefits this system can offer.
Besides AKS, Azure contains a whole variety of container related services, including Azure Container Registry, Azure Container Instances, Web Apps for Containers and Azure Container Apps.
This course is intended for experienced IT professionals who are interested in container technology and want to learn about Docker and Kubernetes.
The technologies learned in the course can be useful for both on-prem deployments or environments that operate in the Azure Cloud.