This document provides an overview of Docker, explaining that it is a tool used to package applications and dependencies into portable containers that can run on any Linux server. Some key benefits of Docker are that it is lightweight, portable, allows any programming language to be used, and simplifies configuration. The document then discusses examples of using Dockerfiles to build images and deploying containers, as well as tools for orchestrating containers across multiple hosts like Docker Registry, Fig, and others. It concludes by inviting questions.
4. WHAT ARE WE TALKING
ABOUT?
What is Docker and why should I use it?
Show you an example project.
Overview of the different tools.
5. WHAT IS DOCKER?
A TOOL TO PACKAGE AN APPLICATION
AND ITS DEPENDENCIES INTO A VIRTUAL
CONTAINER THAT CAN RUN ON ANY
LINUX SERVER
6. APP 2
B I N /
LIBS
APP 1
B I N /
LIBS
HYPERVISOR
OS
SERVER
DOCKER ENGINE
OS
SERVER
APP 1
BIN/
LIBS
APP 2
BIN/
LIBS
VMs
CONTAINERS
GUEST
OS
GUEST
OS
7. WHY DOCKER
Light weight and portable
Works on any Linux server (cloud, bare metal)
Use any language or tool chain
Encapsulate application code and dependancies
Configuration is simple
8. WHY DOCKER AT ZILLOW
We use service oriented architecture
Separation of concerns between Ops and Developers
Repeatability
Great for testing
Low overhead to run new containers to test out new
technology
11. PROBLEMS WEVE HAD
Its new technology and not quite complete
When to use Docker and when not to use
Running containers on multiple hosts
Seeing whats happening inside the container
13. DOCKERFILE
Heart of every image
Images stack on top of each other
When writing Dockerfiles take advantage of caching
General stuff at top
Specific stuff at the bottom
15. DOCKER REGISTRY
A lot like GitHub
Build and push images to a repo
You can update and push to repos
You can pull down images and run on any linux server
Docker Hub, Quay.io, or host your own
17. ORCHESTRATION
Its hard
They are working on it
In the mean time lots of frameworks
Fig, Consul, Centurion, Kubernetes, and lots more
19. FIG
Map one to one with docker commands
IMHO its way easier to see how your containers are
built
Handles starting and stoping multiple containers
Only works on a single host
Owned by docker and will probably be rolled into the
main project