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.
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
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
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
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
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.
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.
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!