
Learn to work with Windows containers using the Docker CLI, run both interactive and background containers, inspect logs, and execute commands inside SQL Server or Windows image containers.
Discover how to run Linux containers on Docker alongside Windows containers. Learn Linux container basics, image differences, and common commands using Alpine and Ubuntu, plus running SQL Server on Linux.
Learn to build and run .NET apps in containers by creating Dockerfiles, packaging images, publishing ports, and ensuring logs across Windows and Linux.
Learn how to tag and push Docker images to registries like Docker Hub, manage versions with tags, and share Windows and Linux container images across repositories.
Explore .NET base images on Linux and Windows, including runtime, SDK, and ASP.NET variants. Learn tag semantics and how to choose the smallest base image for your apps.
Compile and package .NET Core apps with multi-stage Dockerfiles using the SDK and runtime images, building a lightweight reference data API with Dapper, DI, and environment-based config.
Discover how docker standardizes dotnet apps by configuring dotnet core with appsettings.json and optional json sources plus environment variables, and compare net framework xml configuration and logging.
Design a distributed architecture using Docker Compose to split a monolithic app into independent containers, implement a reverse proxy entry point, and adopt asynchronous, event-driven messaging.
Explore how Docker Compose models multi-container applications with a YAML specification and a separate CLI to build, run, and manage services, networks, and volumes.
Modernize a .NET framework monolith by containerizing components, switching to an API reference data loader, and hosting a separate home page with dependency injection and configuration.
Switch to asynchronous messaging with a message queue to decouple the web app from SQL Server, enabling scalable, event-driven processing via a message handler and Nat in Docker.
Leverage an event-driven architecture with a new message handler to power a self-service analytics portal using Elasticsearch and Kibana, all deployed in Docker across Linux and Windows.
Explore how Docker and Docker Compose model distributed applications, decompose monoliths into containerized services, and use a reverse proxy with Nats or RabbitMQ to decouple components.
Explore robust logging for Windows containers using log monitor and service monitor to relay event logs, bubble up SQL Server and ASP.NET web failures to the container.
Learn to create a multi-node Docker swarm cluster across Linux and Windows, initialize the swarm, join workers, deploy scalable services, and leverage ingress load balancing.
Docker is a platform for running applications in lightweight units of compute called containers. You can take pretty much any app and run it in a container, and this course will teach you how to do that - with 100% focus on .NET applications and real-world skills.
You'll learn how to run .NET Framework applications in Windows containers, and .NET Core applications in Windows and Linux containers. Then you'll see how to run new and old components in a distributed architecture with Docker Compose. Finally you'll learn what you need to do to get your Dockerized .NET apps ready for production, and how it looks to run apps at scale in Docker Swarm.
The learning journey in this course is honed from many years of teaching - you don't need to have any existing Docker knowledge, you'll start with the basics and add more knowledge with every lesson. And the content is honed from many years of consulting projects, helping organizations to move .NET apps to Docker and run them successfully in production. That can be the first step to modernizing monolithic applications, or for migrating on-premises applications to the cloud.
Your instructor, Elton Stoneman, is a Docker Captain and a Microsoft MVP - and he's been running containers in production since 2015.