Build Systems that Drive Business
Sep 30–Oct 1, 2018: Training
Oct 1–3, 2018: Tutorials & Conference
New York, NY

Docker tools and workflows: From app development to production clusters (Day 2)

Bret Fisher (DevOps Consultant)
Location: Madison Level: Beginner

Who is this presentation for?

  • You're a developer, DevOps or CI/CD engineer, or ops sysadmin.

Prerequisite knowledge

  • Experience using the terminal or command prompts
  • A working knowledge of Linux (e.g., shells, SSH, and package managers)
  • A basic understanding of web and database servers, particularly how they typically communicate, IPs, and ports

What you'll learn

  • Learn how to use Docker and Compose for better software building and testing
  • Understand how to build development environments with your code running in containers
  • Gain hands-on experience using best practices for making Dockerfiles and Compose files like a pro
  • Learn how to build and publish your own custom container images
  • Gain experience building a fancy multinode Swarm cluster for production deployments using real cloud instances
  • Discover how to update and change your Swarm services without downtime using rolling updates
  • Understand how to use multihost logging and event monitoring for Docker Swarm

Description

Docker Captain Bret Fisher teaches you how to create containers, images, networks, and more using Docker Compose. Join in to practice your DevOps skills with a full day deploying multitier apps on server clusters with Swarm and other tools. This hands-on course covers over 50% of what’s needed for the Docker DCA certification.

Outline

Day 1

Docker 101 for development

  • Why Docker?
  • Proper Docker setup
  • Your first containers
  • Official images
  • Building images interactively
  • Building images with Dockerfiles
  • CMD and ENTRYPOINT
  • COPY and multistage builds
  • Publishing to Docker Hub

Docker networking

  • Network drivers and basics
  • Naming and inspecting
  • Service discovery with DNS
  • Legacy links

Docker Compose

  • Local development workflow
  • Creating dev stacks
  • Advanced Dockerfiles
  • Using volumes locally

Day 2

Deploying multitier apps with Compose and Swarm

  • Local development workflow
  • Example app: Dockercoins
  • Compose scale up and down
  • SwarmKit and Swarm Mode

Swarm basics

  • Creating a swarm
  • Adding nodes and services
  • Host your own image registry

Swarm operations

  • Overlay networks
  • Updating services
  • Rolling updates
  • Health checks
  • Netshoot and IPSec

Swarm security

  • Swarm secrets
  • Raft and Swarm recovery
  • APIs and encryption at rest

Swarm third-party tools

  • ELK for centralized logging
  • Prometheus for centralized monitoring
  • Stateful service and volumes
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 Bretfisher.com and tweets at @bretfisher.