Demystifying Docker

Andrew T. Baker

Software developer

Blog:

http://www.andrewtorkbaker.com

 

Twitter:

@andrewtorkbaker

 

Docker Hub:

atbaker

About you

Today

  • What is Docker?

  • Docker in practice

  • Docker's past, present, and future

  • Tutorial

  • Wrap up

"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

Humble origins

Tons of open
source projects!

Dependency-heavy utilities

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"

Ready to try it?

abaker@twilio.com

THANK YOU!

Docker Tutorial at OSCON 2015

By Andrew T. Baker

Docker Tutorial at OSCON 2015

Presentation used in my OSCON 2015 Docker Tutorial

  • 1,816