A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
CONTAINERS ARE NOT VMS
Why Docker?
Improve application isolation
Replicate production
Standard interface for deploying
Application Isolation
Because some people really don't like to share
Replicate Environments
Because Heisenbugs suck
Standard Interfaces
Yay boxes!
Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation