Hands on Labs for the Docker Federal Summit
JavaScript C# HTML ASP Gherkin PowerShell CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docker-enterprise
docker-networking
docker-orchestration
images
windows-101
windows-modernize-aspnet-dev
windows-modernize-aspnet-ops
README.md
template.md

README.md

Docker Federal Summit 2017 Hands-On Labs

dcus2017

This repo contains the series of hands-on labs for Docker Federal Summit 2017. They are designed to help you gain experience in various Docker features, products, and solutions. Depending on your experience, each lab requires between 20-45 minutes to complete. They range in difficulty from easy to advanced.

You should have received a piece of paper with your login details.


Docker Swarm Orchestration

In this lab you will play around with the container orchestration features of Docker. You will deploy a simple application to a single host and learn how that works. Then, you will configure Docker Swarm Mode, and learn to deploy the same simple application across multiple hosts. You will then see how to scale the application and move the workload across different hosts easily.

Difficulty: Beginner

Time: Approximately 30 minutes

Tasks / Concepts

  • What is Orchestration
  • Configure Swarm Mode
  • Deploy applications across multiple hosts
  • Scale the application
  • Drain a node and reschedule the containers

Deploying Applications with Docker EE (Docker Datacenter)

Difficulty: Intermediate to Advanced

Time: Approximately 45 minutes

Tasks / Concepts

  • Deploy a full 3-node Swarm & UCP cluster
  • Use the Swarm UI
  • Deploy a multi-service, multi-node application
  • Simulate a node failure
  • Use application load balancing
  • Overlay networking
  • Application secrets
  • Application health checks and self-healing apps

Docker Networking

In this lab you will learn about key Docker Networking concepts. You will get your hands dirty by going through examples of a few basic networking concepts, learn about Bridge and Overlay networking, and finally learning about the Swarm Routing Mesh.

Difficulty: Beginner to Intermediate

Time: Approximately 45 minutes

Tasks / Concepts

  • Networking Basics
  • Bridge Networking
  • Overlay Networking

Windows Docker Containers 101

Docker runs natively on Windows 10 and Windows Server 2016. In this lab you'll learn how to package Windows applications as Docker images and run them as Docker containers.

Difficulty: Beginner

Time: Approximately 30 minutes

Tasks / Concepts:

  • Run some simple Windows Docker containers
  • Package and run a custom app using Docker
  • Change an application and redploy the new container

Modernize .NET Apps - for Devs

You can run full .NET Framework apps in Docker using the Windows Server Core base image from Microsoft. That image is a headless version of Windows Server 2016, so it has no UI but it has all the other roles and features available. Building on top of that there are also Microsoft images for IIS and ASP.NET, which are already configured to run ASP.NET and ASP.NET 3.5 apps in IIS.

This lab steps through porting an ASP.NET WebForms app to run in a Docker container on Windows Server 2016. With the app running in Docker, you can easily modernize it - and in the lab you'll add new features quickly and safely by making use of the Docker platform.

Difficulty: Beginner

Time: Approximately 35 minutes

Tasks / Concepts

  • Package an existing ASP.NET application so it runs in Docker, without any application changes.
  • Run SQL Server Express in a Docker container, and use it for the application database.
  • Use a feature-driven approach to address problems in the existing application, without an extensive re-write.
  • Use the Dockerfile and Docker Compose syntax to replace manual deployment documents.

Modernize .NET Apps - for Ops

You'll already have a process for deploying ASP.NET apps, but it probably involves a lot of manual steps. Work like copying application content between servers, running interactive setup programs, modifying configuration items and manual smoke tests all add time and risk to deployments.

In Docker, the process of packaging applications is completely automated, and the platform supports automatic update and rollback for application deployments. You can build Docker images from your existing application artifacts, and run ASP.NET apps in containers without going back to source code.

This lab is aimed at ops and system admins. It steps through packaging an ASP.NET WebForms app to run in a Docker container on Windows 10 or Windows Server 2016. It starts with an MSI and ends by showing you how to run and update the application as a service on Docker swam.

Difficulty: Beginner

Time: Approximately 30 minutes

Tasks / Concepts

  • Package an existing ASP.NET MSI so the app runs in Docker, without any application changes.
  • Create an upgraded package with application updates and Windows patches.
  • Update and rollback the running application in a production environment with zero downtime.

Contribute Your Own Labs

If you have an awesome tutorial/lab and would like to add it here. Please open a PR. We would love to add more exciting tutorials to the list!