Docker: What, why, and how?
Andrew T. Baker
Software developer
About you
Today
-
What is Docker?
-
Docker in practice
-
Docker's past, present, and future
-
Using Docker today
-
Docker & Continuous Delivery
-
Trying it yourself
-
Questions
"It worked in my
development environment"
The promise of Docker:
Build once, run anywhere
What is Docker?
Virtualization tool?
Configuration manager?
VM manager?
cgroups?
LXC?
libvirt?
go?
Docker.com says
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
Less portable, minimal overhead
Most portable,
lots of overhead
Manual
configuration
Traditional VMs
CM tools
Docker
Docker in practice
Containers
How you run
your application
Images
How you store
your application
Dockerfiles
# Set the base image to Ubuntu
FROM ubuntu
# Update the repository sources list
RUN apt-get update
# Install MongoDB package (.deb)
RUN apt-get install -y mongodb-10gen
# Create the default data directory
RUN mkdir -p /data/db
# Expose the default port
EXPOSE 27017
# Default command to start the database
CMD ["usr/bin/mongod", "--port 27017"]
Docker library images
Docker's past, present, and future
Origins
Source: Docker tweet
Source: Docker blog
Tons of open
source projects!
Continuous Integration (CI)
Dependency-heavy utilities
Using Docker today
2014
- Get to 1.0 (production-ready)
- Establish partnerships
- Round out some rough edges (v1.3)
2015
- Make Docker easier to use
- Popularize best practices for scaling
- "Include more batteries"
Cloud-agnostic hosting
Container-specific hosting
Container-specific hosting
Container-specific hosting
Cloud computing average monthly cost
Source: RBC Capital / Business Insider
Docker and Continuous Delivery
Separation of concerns between dev and ops
Faster deployments
Easier to pick the right tool for the job
Easier to use microservices
Trying it yourself
1
Go all in on a
non-essential service
(avoid using Docker for just development)
2
Use the official
base images
(but don't be afraid to build your own)
3
Install docker-compose
right after you install Docker
4
Keep an eye on docker-machine and docker-swarm
5
Check out my tutorial
http://docker.atbaker.me
Questions?
I have some stickers up front!
Docker: What, why, and how?
By Andrew T. Baker
Docker: What, why, and how?
Presentation used in my DC Continuous Delivery talk on 4/22
- 2,861