Book Image

Docker on Windows - Second Edition

By : Elton Stoneman
Book Image

Docker on Windows - Second Edition

By: Elton Stoneman

Overview of this book

Docker on Windows, Second Edition teaches you all you need to know about Docker on Windows, from the 101 to running highly-available workloads in production. You’ll be guided through a Docker journey, starting with the key concepts and simple examples of .NET Framework and .NET Core apps in Docker containers on Windows. Then you’ll learn how to use Docker to modernize the architecture and development of traditional ASP.NET and SQL Server apps. The examples show you how to break up legacy monolithic applications into distributed apps and deploy them to a clustered environment in the cloud, using the exact same artifacts you use to run them locally. You’ll see how to build a CI/CD pipeline which uses Docker to compile, package, test and deploy your applications. To help you move confidently to production, you’ll learn about Docker security, and the management and support options. The book finishes with guidance on getting started with Docker in your own projects. You’ll walk through some real-world case studies for Docker implementations, from small-scale on-premises apps to very large-scale apps running on Azure.
Table of Contents (18 chapters)
Free Chapter
1
Section 1: Understanding Docker and Windows Containers
6
Section 2: Designing and Building Containerized Solutions
10
Section 3: Preparing for Docker in Production
14
Section 4: Getting Started on Your Container Journey

From monolith to distributed solution

NerdDinner has evolved from a legacy monolith to an easily scalable, easily extensible solution running on a modern application platform using modern design patterns. It's been a fast and low-risk evolution, powered by the Docker platform and container-first design.

The project started by migrating NerdDinner to Docker as-is, running one container for the web application and one for the SQL Server database. Now I have ten components running in containers. Five are running my custom code:

  • The original ASP.NET NerdDinner web application
  • The new ASP.NET Core web homepage
  • The new .NET Framework save-dinner message handler
  • The new .NET Core index-dinner message handler
  • The new ASP.NET Core dinners API

Four are enterprise-grade open source technologies:

  • Traefik reverse proxy
  • NATS message queue
  • Elasticsearch document database
  • Kibana analytics...