Watch Jake Wright's excellent videos (in really 12:00 minutes!):
“Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation.”
| **Virtual Machines** | **Containers** |
|  |  |
|
Each VM = full copy OS & co => resource heavy => minutes to load |
Each container = no kernel => lightweight => seconds to load |
- Machines are scripted
- No install headaches
- Same environment everywhere
- Sandboxed projects
Image:
- A template of a machine
- Contains OS & services
Container:
- A running instance� of an image
A recipe to build an image:
- Extend a base image
- Execute custom commands
- Run a single process
In action:
- Build a Dockerfile => image
- Run an image => container
Read more: CLI / Dockerfile
Run: ./demo1.sh
A recipe to build several services:
- Configure each service:
- Base image or build commands
- Environment variables
- Container configuration (name, ports…)
- Dependencies and links between services
- Volumes mapping
Read more / CLI / docker-compose.yml
Run: ./demo2.sh
@TODO