Follow along : slides.com/shrikrishna/docker/live

Source: docker.io

Docker

  • Application Sandbox
  • Cross Platform
  • Lightweight
  • Intuitive

Source: xkcd.com/1168

Goals

  • Abstract infrastructure
  • Reduce conflict between sysadmins and developers

Source: xkcd.com/705

Ecosystem

  • Docker Daemon
  • Docker Client
  • Docker Hub / Registry
  • Docker Images
  • Docker Containers
  • Dockerfile
  • Compose
  • Swarm

Source: xkcd.com/1636

Versus

Layers

  • Copy-on-write filesystem
  • Multiple read-only layers
  • Shared between running containers
  • Ephemeral layer at the top

Rails App Container

Docker Commands

Source: xkcd.com/196

Cheatsheet Yo!

  • run
  • ps
  • inspect
  • top
  • diff
  • images
  • commit
  • history
  • push
  • events

Dockerfile

  • Description Language for building Docker images
  • Akin to Makefile/Vagrantfile
  • Caching

Compose

  • YML Spec
  • App as a collection of Services
  • Automation

Source: xkcd.com/1319

Networking

  • SDN - Software Defined Networking
  • Single Host / Bridge
  • Multi Host / Overlay

Overlay Network

Service Discovery

  • In single host - overwriting /etc/hosts vs DNS
  • Multi host - using Consul / etcd
  • Multi host - using DNS

Etcd cluster

Source: coreos.com

Micro Services

Text

Source: microservices.io

Obligatory Shameless Plug

  • Author of "Orchestrating Docker"
  • Authoring of "Mastering Docker"
  • bit.ly/1KR5ALG
  • Twitter: @srikrishnaholla

Thank you