Contents

 

Free ebooks from Microsoft Press

We want to hear from you

Stay in touch

What is Docker?

Comparing Docker containers with VMs

Docker terminology

Docker containers, images, and registries

Road to modern applications based on containers.

Containers as the foundation for DevOps collaboration

Challenges in application life cycle when using Docker.

Introduction to a generic end-to-end Docker application life cycle workflow

Benefits of DevOps for containerized applications

Designing Docker applications

Common container design principles

Container “equals” a process

Monolithic applications

Monolithic application deployed as a container

Publishing a single Docker container app to Azure App Service

State and data in Docker applications

SOA applications

Orchestrating microservices and multicontainer applications for high scalability and availability

Using container-based orchestrators in Azure

Using Azure Container Service

Getting started with Azure Container Service

Additional resources

Using Azure Container Service (AKS)

AKS and Kubernetes

Using Service Fabric

Service Fabric and containers

Stateless versus stateful microservices

Using Azure Container Service (AKS)

Creating the AKS environment in Azure

Creating AKS Environment

Create the AKS cluster

Development environment for Docker apps

Development tools choices: IDE or editor

Visual Studio Code and Docker CLI (cross-platform tools for Mac, Linux, and Windows)

Visual Studio with Docker Tools (Windows development machine)

Visual Studio for Mac (Mac development machine)

Language and framework choices

Inner-loop development workflow for Docker apps

Building a single app within a Docker container using Visual Studio Code and Docker CLI

Step 1: Start coding in Visual Studio Code and create your initial app/service baseline

Step 2: Create a DockerFile related to an existing image (plain OS or dev environments like .NET Core, Node.js, and Ruby)

Step 3: Create your custom Docker images embedding your service in it

Step 4: Define your services in docker-compose.yml when building a composed Docker app with multiple services

Step 5: Build and run your Docker app

Step 6: Test your Docker application (locally, in your local CD VM)

Using Visual Studio Tools for Docker (Visual Studio on Windows)

Configuring your local environment

Using Docker Tools in Visual Studio 2017

Using Windows PowerShell commands in a DockerFile to set up Windows Containers (Docker standard based)

Building.NET Core 2.0 applications deployed as Linux containers into AKS/Kubernetes clusters

Creating the .NET Core 2.0 Project using Visual Studio 2017

Register the Solution in the Azure Container Registry

Steps in the outer-loop DevOps workflow for a Docker application

Step 1: Inner-loop development workflow

Step 2: Source-Code Control integration and management with Visual Studio Team Services and Git

Step 3: Build, CI, Integrate, and Test with Visual Studio Team Services and Docker

Implementing the CI pipeline with Visual Studio Team Services and the Docker extension for Visual Studio Team Services

Integrate, test, and validate multicontainer Docker applications

Push the custom application Docker image into your global Docker Registry

Step 4: CD, Deploy

Deploying composed Docker applications to multiple Docker environments

Managing releases to Docker environments by using Visual Studio Team Services Release Management

Deploying Docker applications to Docker clusters (Kubernetes, DC/OS and Docker Swarm)

Step 5: Run and manage

Step 6: Monitor and diagnose

Creating CI/CD pipelines in VSTS for a .NET Core 2.0 application on Containers and deploying to a Kubernetes cluster

Running composed and microservices-based applications in production environments

Introduction to orchestrators, schedulers, and container clusters

Managing production Docker environments

Container Service and management tools

Azure Service Fabric

Monitoring containerized application services

Microsoft Application Insights

Analyzing Docker apps in QA environments using Application Insights

Setting up Application Insights to monitor Docker applications and Docker hosts

Microsoft Operations Management Suite

Operations Management Suite Container Solution for Docker

Key takeaways