Introduction to 
Docker
Containerization is the new virtualization
who

engineer and operations chap
open source chap
funny accent
(photo by Jennie Rainsford)
other matters
author
http://www.jamesturnbull.net
hack-n-slash developer
https://github.com/jamtur01
pontification
http://www.kartar.net
The Docker Book

www.dockerbook.com
Who are you
folks?
So what is Docker?
Container virtualization
Build, pack, ship and run applications as containers
Build once, run in many places
Isolated and content agnostic
Some history
So why should I care?
Easy (and lightweight!) way to model reality
Devs care about their app, Ops cares about the containers
Golden images without the overhead
Why developers care...
A clean, safe, hygienic and portable runtime environment
No worries about missing dependencies, packages and other pain
points
Run each app in its own isolated container, so you can run various
versions of libraries and other dependencies
Automate testing, integration, packaging
Reduce/eliminate concerns about compatibility on different platforms
Why operations care...
Make the entire lifecycle more efficient, consistent, and repeatable
Increase the quality of code produced by developers
Eliminate inconsistencies between development, test, and production
environments
Support segregation of duties
Significantly improves the speed and reliability of continuous
deployment and integration
So why not VMs or Cloud?
Speed of deployment
Portability
Size aka cached layering FTW
Density & Performance
Cost
Technology Stack
Runs (for now) on most Linux distros
cgroups and namespacing
Device Mapper or AUFS or vfs or <pluggable in future>
lxc or <pluggable in future>
Technology Stack
Docker Basics
Image
Registry
Container
Building Docker images with a
Dockerfile
FO
RM
uut
bnu
MITIE JmsTrbl "ae@xml.o"
ANANR ae unul jmseapecm
RNatgtisal- aah2
U p-e ntl y pce
EVAAH_U_SRwwdt
N PCERNUE w-aa
EVAAH_U_RU wwdt
N PCERNGOP w-aa
EVAAH_O_I /a/o/pce
N PCELGDR vrlgaah2
EPS 8
XOE 0
ETYON [/s/bnaah2]
NRPIT "ursi/pce"
CD[-" "OERUD]
M "D, FRGON"
Building the image
$sd dce bid-=jmu0/pce".
uo okr ul t"atr1aah2
Pushing the image
$sd dce ps jmu0/pce
uo okr uh atr1aah2
Running the container
$sd dce rn- - 8 - /a/w/yp jmu0/pce
uo okr u d p 0 v vrwwmap atr1aah2
Questions?

Introduction to Docker