Docker : The only thing it can't contain is your excitement.

39
The only thing it can’t contain is your excitement.

description

Docker is an exciting new project that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere; like a virtual machine on steroids. In this talk I will introduce Docker, why you should be excited about it and show you how it will change your universe!

Transcript of Docker : The only thing it can't contain is your excitement.

Page 1: Docker : The only thing it can't contain is your excitement.

The only thing it can’t contain is your excitement.

Page 2: Docker : The only thing it can't contain is your excitement.

Who am I?John Le Drew

!

I’m @antz29 everywhere

http://antz29.com http://wisenoodles.com

Page 3: Docker : The only thing it can't contain is your excitement.

An epic tale!

Page 4: Docker : The only thing it can't contain is your excitement.

I want

to send my

chocolate… to the

WORLD!

You are

going to need

some boxes!

Page 5: Docker : The only thing it can't contain is your excitement.

He made some chocolate…

Page 6: Docker : The only thing it can't contain is your excitement.

… and he put it into boxes.

Page 7: Docker : The only thing it can't contain is your excitement.

He put his chocolate on a truck.

Page 8: Docker : The only thing it can't contain is your excitement.

Tim the boxes of chocolate on

trucks specialist.

Page 9: Docker : The only thing it can't contain is your excitement.

He put his chocolate on a train.

Page 10: Docker : The only thing it can't contain is your excitement.

Tom the boxes of chocolate on trains specialist

Page 11: Docker : The only thing it can't contain is your excitement.

He put his chocolate on a boat.

Page 12: Docker : The only thing it can't contain is your excitement.

Brad the boxes of chocolate on boats specialist

Page 13: Docker : The only thing it can't contain is your excitement.

So his chocolate reached the world

(eventually)

Page 14: Docker : The only thing it can't contain is your excitement.

But there was trouble in paradise.

Page 15: Docker : The only thing it can't contain is your excitement.

Willy’s friends were really expensive.

Page 16: Docker : The only thing it can't contain is your excitement.

Carrie the container specialist

Page 17: Docker : The only thing it can't contain is your excitement.

Containers!

Page 18: Docker : The only thing it can't contain is your excitement.

Trucks!

Trains!

Boats!

Page 19: Docker : The only thing it can't contain is your excitement.

Multi-modal

Page 20: Docker : The only thing it can't contain is your excitement.

Willy’s Friends

Page 21: Docker : The only thing it can't contain is your excitement.

Carrie the container specialist

Willy’s (old) Friends

Page 22: Docker : The only thing it can't contain is your excitement.

WTF has this got to with Docker?!

Page 23: Docker : The only thing it can't contain is your excitement.

MyAwsmAppA

PHP

MongoDBRedis

NGINX

RabbitMQElasticSearch

Page 24: Docker : The only thing it can't contain is your excitement.

OSX

Windows

DevServer

CIServer

StagingServer

Prod.Server

MyAwsmAppA

PHP

MongoDBRedis

NGINX

RabbitMQElasticSearch

Page 25: Docker : The only thing it can't contain is your excitement.

VM

Guest OS

HypervisorHost OSServer

MyAwsmAppA

PHP

MongoDBRedis

NGINX

RabbitMQElasticSearch

Page 26: Docker : The only thing it can't contain is your excitement.

Guest OS

HypervisorHost OSServer

VM

MyAwsmAppB

PHP

MongoDBMemcache

NGINX

ElasticSearch

MyAwsmAppC

PHP

MySQLMemcache

NGINX

ElasticSearch

Guest OS

VMVM

Guest OS

MyAwsmAppA

PHP

MongoDBRedis

NGINX

RabbitMQElasticSearch

Page 27: Docker : The only thing it can't contain is your excitement.

MyAwsmAppA

Host OSServer

MyAwsmAppB MyAwsmAppC

PHP

MongoDBRedis

NGINX

RabbitMQ

MySQLMemcache

ElasticSearch

Container Container Container

Docker

Page 28: Docker : The only thing it can't contain is your excitement.

Docker RegistryDocker Registry

Docker Client

Docker Client

Key Components

Docker Client

Docker Host

DockerHost OS

Container 1Container 2Container 3Container …

Docker Registry

Page 29: Docker : The only thing it can't contain is your excitement.

Under the hood

Images

BUILD

Page 30: Docker : The only thing it can't contain is your excitement.

Under the hood

Registries

DISTRIBUTE

Page 31: Docker : The only thing it can't contain is your excitement.

Under the hood

Containers

RUN

Page 32: Docker : The only thing it can't contain is your excitement.

Docker Images

My Application Image

Ubuntu

Apache

MySQL

PHP

App Code

Page 33: Docker : The only thing it can't contain is your excitement.

Docker Images

Base Image: ubuntu

apt-get install apache

apt-get install mysql-server

apt-get install php5

My Application Image

Ubuntu

Apache

MySQL

PHP

App Code rsync ./source/code /my/site

Page 34: Docker : The only thing it can't contain is your excitement.

Docker Images

Base Image: ubuntu

apt-get install apache

apt-get install mysql-server

apt-get install php5

My Application Image

Ubuntu

Apache

MySQL

PHP

App Code rsync ./source/code /my/site

Dockerfile

Page 35: Docker : The only thing it can't contain is your excitement.

Docker Registry

Docker Client

Private Registry

Public Registry

Private Registry

Firewall

Page 36: Docker : The only thing it can't contain is your excitement.

Union File System

Docker Containers

Read-Only Image

Read-Write Layer

Page 37: Docker : The only thing it can't contain is your excitement.

Docker Containers# docker run ubuntu /bin/echo 'Hello World'Hello World

Pulls the ubuntu image

Sets up the read-write filesystem

Sets up the network interfaces

Sets up an IP address

Executes the process

Captures and provides the output

Page 38: Docker : The only thing it can't contain is your excitement.

DEMO! (uh oh)

Page 39: Docker : The only thing it can't contain is your excitement.

Thank you and Questions

@antz29 [email protected]