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
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
Support segregation of duties
Significantly improves the speed and reliability of continuous
deployment and integration
So why not VMs or Cloud?
Speed of deployment
Size aka cached layering FTW
Density & Performance
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>
Building Docker images with a
MITIE JmsTrbl "email@example.com"
ANANR ae unul jmseapecm
U p-e ntl y pce
N PCERNUE w-aa
N PCERNGOP w-aa
N PCELGDR vrlgaah2
M "D, FRGON"
Building the image
$sd dce bid-=jmu0/pce".
uo okr ul t"atr1aah2