Docker : The only thing it can't contain is your excitement.
-
Upload
john-drew -
Category
Technology
-
view
398 -
download
0
description
Transcript of Docker : The only thing it can't contain is your excitement.
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
An epic tale!
I want
to send my
chocolate… to the
WORLD!
You are
going to need
some boxes!
He made some chocolate…
… and he put it into boxes.
He put his chocolate on a truck.
Tim the boxes of chocolate on
trucks specialist.
He put his chocolate on a train.
Tom the boxes of chocolate on trains specialist
He put his chocolate on a boat.
Brad the boxes of chocolate on boats specialist
So his chocolate reached the world
(eventually)
But there was trouble in paradise.
Willy’s friends were really expensive.
Carrie the container specialist
Containers!
Trucks!
Trains!
Boats!
Multi-modal
Willy’s Friends
Carrie the container specialist
Willy’s (old) Friends
WTF has this got to with Docker?!
MyAwsmAppA
PHP
MongoDBRedis
NGINX
RabbitMQElasticSearch
OSX
Windows
DevServer
CIServer
StagingServer
Prod.Server
MyAwsmAppA
PHP
MongoDBRedis
NGINX
RabbitMQElasticSearch
VM
Guest OS
HypervisorHost OSServer
MyAwsmAppA
PHP
MongoDBRedis
NGINX
RabbitMQElasticSearch
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
MyAwsmAppA
Host OSServer
MyAwsmAppB MyAwsmAppC
PHP
MongoDBRedis
NGINX
RabbitMQ
MySQLMemcache
ElasticSearch
Container Container Container
Docker
Docker RegistryDocker Registry
Docker Client
Docker Client
Key Components
Docker Client
Docker Host
DockerHost OS
Container 1Container 2Container 3Container …
Docker Registry
Under the hood
Images
BUILD
Under the hood
Registries
DISTRIBUTE
Under the hood
Containers
RUN
Docker Images
My Application Image
Ubuntu
Apache
MySQL
PHP
App Code
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
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
Docker Registry
Docker Client
Private Registry
Public Registry
Private Registry
Firewall
Union File System
Docker Containers
Read-Only Image
Read-Write Layer
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
DEMO! (uh oh)