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
- Kubernetes Dashboard
- 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
- LAB: Container Technology in Azure