Building and maintaining complex distributed systems
June 19–20, 2017: Training
June 20–22, 2017: Tutorials & Conference
San Jose, CA

Docker production: Orchestration, security, and beyond

Bret Fisher (DevOps Consultant), Laura Frank (Codeship), Tony Pujals (Appcelerator)
1:30pm–5:00pm Tuesday, June 20, 2017
Level: Intermediate
Average rating: ****.
(4.33, 12 ratings)

Who is this presentation for?

  • DevOps engineers, those working in container operations, and anyone needing to deploy containers to production and manage them

Prerequisite knowledge

  • A working knowledge of Docker (You are familiar with Docker images and containers, have used Dockerfile and docker-compose.yml in some fashion and understand the basic commands and purpose behind them, and have set up Docker for running containers on a server or have a good idea of how to do it.)

Materials or downloads needed in advance

  • A laptop with an SSH program installed

What you'll learn

  • Learn how to build a multinode, secure Docker Swarm cluster and how to deploy and manage a multicontainer, highly available microservice app inside a cluster
  • Gain hands-on experience with daily and intermediate-level tasks a container cluster operator deals with and an understanding of production security and data management options for Docker


Take your containers into production and operate Docker clusters like a pro. This workshop skips Docker basics and avoids the CI/CD tools needed to get code ready for production. Rather, it focuses squarely on the tools and techniques of daily building and operating container clusters using Docker.

Starting where previous Docker workshops leave off, Bret Fisher, Laura Frank, and Tony Pujals dive into the new Swarm mode clustering (services), failover, blue-green deployments, monitoring, logging, troubleshooting, and security, covering the latest built-in features and common third-party tools as they walk you through installing them on your own five-node cloud Swarm cluster.


Docker Swarm

  • SSH into your five nodes and create a Swarm
  • Spin up a sample multicontainer microservice app
  • Use built-in commands to validate it’s working and logging; use troubleshooting techniques on the overlay networks and to jump into containers
  • Deploy redundant containers and test high availability
  • Use blue-green deployments to update apps without downtime, including rollback
  • Deal with failed containers and failed cluster nodes

Common third-party tools for logging, monitoring, and troubleshooting

  • Set up and test ELK (Elasticsearch, Logstash, and Kibana)
  • Set up and test cAdvisor
  • Set up and test Prometheus

Key features of production systems

  • Docker security features—seccomp profile, custom cgroups, apparmor profiles, and namespace setup
  • Persistent data and backups love containers too—options from host, bind-mounts, commit, etc., options from sidecar/util container, shared storage 9EFS/NFS), mesh storage (infinit), and REX-Ray

Other things you’ll learn along the way

  • Troubleshooting and sysadmin tools you may have forgot
  • New tools for the container admin
  • Staying up to date on Docker tool releases
  • Command aliases for quicker day-to-day container management
  • Shell scripts for common processes
Photo of Bret Fisher

Bret Fisher

DevOps Consultant

Bret Fisher is a Virginia Beach-based freelance DevOps and Docker consultant, trainer, speaker, and open source volunteer. Bret has been a cloud and data center ops and system administrator for 20 years. Currently, he helps teams Dockerize their apps and systems and improve their speed of deployment, resiliency, metrics, and awareness (all that DevOps-y stuff). Bret is a Docker Captain and Code for America Brigade Captain. He runs several monthly meetups, speaks at conferences, and is obsessed with containerizing any app he sees. (He’ll likely talk your ear off about it next time you meet.) Bret also develops in Node.js, Bash, and general web, usually for open source projects. In his free time, he does CrossFit, surfs a little, geeks out in the awesome local dev community in Virginia Beach, and travels with his wife. He writes at and tweets at @bretfisher.

Photo of Laura Frank

Laura Frank


Laura Frank is a Docker Captain and the director of engineering at Codeship, where she works on improving the Docker infrastructure and overall experience for all users of the CI/CD platform. Previously, she worked on several open source projects to support Docker in the early stages of the project, including Panamax and ImageLayers. Laura lives in Berlin, where she can be found eating döner or attempting to try every type of gin in the world.

Photo of Tony Pujals

Tony Pujals


Tony Pujals is a Docker Captain and the director of cloud engineering at Appcelerator, where he focuses on improving the process of building, deploying, orchestrating, and monitoring containerized microservices. Tony is fanatical about Docker, Go, Node.js, APIs, microservices, serverless computing, distributed systems, and scalable cloud architecture. He is a co-organizer of the Mountain View Docker meetup.