introduction to docker
DESCRIPTION
How we deploy and develop software has significantly changed. This has given rise to a number of problems that affect things like the time to ship and stability of the final product. I describe how Docker provides remedy!TRANSCRIPT
Some background
Things have changed
The Matrix From Hell
When programming...
1. Avoid globals2. Keep separate concerns separate (SoC)3. Be explicit about dependencies
State and determinism
Containment andreproducibility
Typical Provisioning
1. Define your server state using e.g. Chef2. Run on a “dirty” server3. Resulting state is unknown, but hopefully
works.
We run our software on operating systems conceived in 1980.
Ship software as a whole
A container full of EC2
● Contained our application and its dependencies● Were transferable● Ran in isolation● Ran everywhere● Were as light-weight as processes
What if we could create containers that:
Hands-on with Docker
Discover Docker
1. http://docker.io — community is great2. Play with it — I’ve only shown my use-cases3. Wait for the tooling to emerge — it’s an explosion
waiting to happen.4. Check out CoreOS
Questions?
● github.com/emilisto/docker-intro
● Who was the guy again? @svammel