Dockercon EU Day – Workshop day

Together with a colleague I’m attending DockerCon EU in Copenhagen.

Today is fully booked with 10 different workshops, from Docker 101 to Orchestration to Security which one I’m going to attend 🙂

Here’s a full list of all the workshops;

If you are just getting started learning about Docker and want to get up to speed, this is the workshop for you. Come learn Docker basics including running containers, building images and basics on networking, orchestration, security, volumes.

In this introductory workshop, geared for administrators and operators in an enterprise, you will get an overview of the features of Docker Datacenter and perform common operational tasks including install, deploying applications, scaling, monitoring, image scanning, and using Docker Trusted Registry. You will benefit by getting hands-on with Docker Datacenter and have a better understanding of the role of the Docker administrator in a large organization

Docker provides PODA (Package Once Deploy Anywhere) and complements WORA (Write Once Run Anywhere) provided by Java. It also helps you reduce the impedance mismatch between dev, test, and production environment and simplifies Java application deployment.

Topics Covered:

  • Running first Java application with Docker
  • Package your Java application with Docker
  • Sharing your Java application using Docker Hub
  • Deploy your Java application using Maven
  • Deploy your application using Docker for AWS
  • Scaling Java services with Docker Engine swarm mode
  • Package your multi-container application and use service discovery
  • Monitor your Docker + Java applications
  • Build a deployment pipeline using common tools

You can run Windows server apps natively in Docker containers on Windows 10 and Windows Server 2016. In this workshop you’ll learn everything from the basics of Docker on Windows, through running .NET Framework and .NET Core apps in containers, to production deployments with Docker swarm.

In this hands-on workshop you will:

  • Build Docker images and run Docker containers in Windows Server Core and Nano Server
  • Understand how Windows process and security principals work in containers
  • Take an existing ASP.NET app packaged in an MSI and run it with Docker
  • See how to break up monoliths by splitting features into separate containers
  • Add enterprise-grade open-source software from Docker Hub into your solution
  • Learn how to use Docker to compile and package .NET and .NET Core applications
  • Create a Docker Swarm – using native Docker clustering to provide HA and scale
  • Use a hosted CI server to build, package and deploy your app to the swarm
  • This session will show you all the benefits the Docker platform brings, how to get started Dockerizing your own Windows apps, and how Docker makes your application portable so it runs on any environment – physical servers, VMs, and any cloud.

The workshop will go through the whole microservices development lifecycle. We’ll start from the very beginning and define and design architecture. From there on we’ll do some coding and testing all the way until the final deployment to production. Once our new services are up and running we’ll see how to maintain them, scale them, and recover them in case of failures.

  • The goal will be to design a fully automated continuous deployment (CDP) pipeline with Docker containers.
  • During the workshop we’ll explore tools like Docker, Docker Swarm, Docker Compose, Jenkins, HAProxy, and a few others.

Understand the fundamentals for how containers communicate with one another and also the outside world. We will learn the components of Docker networking and how the Container Network Model facilitates a pluggable network stack. This includes the use, functionality, and design of network drivers like bridge, overlay, and MACVLAN. We will also touch on related subjects such as application load balancing, service discovery, and basic network troubleshooting.

Topics Covered:

  • Container Network Model (CNM) Architecture
  • Host networking fundamentals: Network namespaces, Host-based firewalls, and L2
  • Bridges
  • Basic container communication
  • Bridge Driver
  • Overlay Driver
  • MACVLAN Driver
  • Windows Networking
  • Swarm Load Balancing
  • Docker Built-In Service Discovery
  • Network Security
  • Swarm Network Troubleshooting
  • Application Layer Load Balancing Design

In today’s IT world security is more important than it has ever been. Fortunately Docker has an extensive set of security tools that are simple to use and extremely powerful. This workshop covers all of the theory and hands-on that you need to secure your Docker infrastructure and Dockerized apps.

Some of the Docker security technologies covered in this lab include:

Trusted code deployment with Docker Content Trust (DCT)
Vulnerability detection with Docker Security Scanning
Secure Docker infrastructure with Docker Swarm Mode
Secure secrets management with Docker Secrets
Secure app-centric networking with Docker Overlay Networks

Already using Docker and started using Swarm Mode introduced last year? Let’s start where previous Orchestration workshops may have left off, and dive into new 2017 features, as well as monitoring, logging, troubleshooting, and security of docker engine and swarm features.

You’ll get your own 5-node cluster for the day to create a swarm and walk through all our examples together.

We’ll cover rolling updates, rollbacks, healthchecks, centralized logging with ELK, monitoring/alerting with Prometheus, dealing with swarm manager failure and recovery, persistent storage options, optional security features like user namespaces, and a few cli tools for troubleshooting. Come away ready to take your Swarm to the next level!

You’ve installed Docker, you know how to run containers, you’ve written Dockerfiles to build container images for your applications (or parts of your applications), and perhaps you’re even using Compose to describe your application stack as an assemblage of multiple containers.

But how do you go to production? What modifications are necessary in your code to allow it to run on a cluster? (Spoiler alert: very little, if any) How does one set up such a cluster, anyway? Then how can we use it to deploy and scale applications with high availability requirements?

And what about operational aspects like rolling deploys, centralized logging, metrics? Can we have a chat about security, from secrets management to network traffic encryption? Can we run stateful services in containers?

In this workshop, we will answer these questions (and a few more!) using tools from the Docker ecosystem, with a strong focus on the native orchestration capabilities available since Docker Engine 1.12, aka “Swarm Mode.”