At OPEN'15, Bastiaan Schaap (Docker trainer @ Amazic), gave a presentation about the difference between pets and cattle and how this relates to the Docker philosophy.
6. “
”
It’s pretty much the best thing for
cloud computing
since the movement from bare metal
to virtual machines
HoMingLi(DockerCon2014attendant)
7. “
”
Docker aims to reduce the cycle time
between
code being written
and code being tested, deployed, and
used.
JamesTurnbull(authorofTheDockerBook)
8. “
”
Docker is one of those technologies that,
without any great fuss and without anyone
noticing, is now everywhere. […]
I wouldn’t call Docker a“Swiss Army Knife”
— it has so many more uses than that.
DrMikeNorman(CloudServicesArchitect@JPMorgan)
22. What is Container Virtualisation?
• Alternative to“traditional”virtualisation on Hypervisors such asVMWare
• No guest operating system (or booting) required for containers
• Virtualisation layer runs as an application inside the host OS
• Sandboxed execution environment
• Lightweight, high performance (especially on bare metal hardware)
23.
24. Where does Docker fit in?
• Built on top of Linux container technology (LXC, AUFS)
• Provides tools to build, run, share and version“images”
• Handles communication between running“containers”(network, fs)
• Docker containers run practically everywhere
• Extremely reproducible; you could start from scratch every time!
26. Images versus Containers
• Docker images consist of one or more read-only layered file-systems
• The bottom layer is called the base image (Linux kernel, e.g. Red Hat)
• A Dockerfile is the equivalent of a build file to create an image
• Docker containers are the running, stateful instances of images
• Modified containers can also be committed back to images
32. Pros
• Standardized way of getting code from development to production
• Easy to use DevOps workflow
• Fast container startup
• Isolation of processes and their configuration
33. Cons
• Very easy to do, can be very hard to do right
• Networking can be difficult
• Ecosystem evolving (rapidly)
• Which orchestration tools/platforms/frameworks to use