Intro Docker october 2013

D
Introduction to Docker
October, 2013
Contents
• Introduction to Docker, Containers, and the Matrix from Hell
• Why people care: Separation of Concerns
• Technical Discussion
• Ecosystem
• Use Cases
• Docker Futures
• Advanced topics: Networking, Data
In the 7 months since we launched
•
•
•
•

>140,000 container pulls
>6,700 github stars
>180 non-employee contributors
>150 projects built on top of docker
• UIs, mini-PaaS, Remote Desktop….

• 1000’s of Dockerized applications
• Memcached, Redis, Node.js…and Hadoop

• Integration in
Jenkins, Travis, Chef, Puppet, Salt, Va
grant and OpenStack
• Meetups arranged around the
world…with organizations like
Ebay, Cloudflare, Yandex, and
Rackspace presenting on their use of
Docker
Why all the excitement?
User DB

Static website

postgresql + pgv8 + v8

nginx 1.5 + modsecurity + openssl + bootstrap 2

Background workers
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs +
phantomjs

Queue

Analytics DB

Redis + redis-sentinel

hadoop + hive + thrift + OpenJDK

Web frontend
Ruby + Rails + sass + Unicorn

API endpoint

Do services and apps
interact
appropriately?

Multiplicity of Stacks

The Challenge

Development VM

Production Cluster
Public Cloud

QA server
Disaster recovery

Contributor’s laptop

Customer Data Center
Production Servers

Can I migrate
smoothly and
quickly?

Multiplicity of
hardware
environments

Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
The Matrix From Hell
Static website

?

?

?

?

?

?

?

Web frontend

?

?

?

?

?

?

?

Background workers

?

?

?

?

?

?

?

User DB

?

?

?

?

?

?

?

Analytics DB

?

?

?

?

?

?

?

Queue

?

?

?

?

?

?

?

Development
VM

QA Server

Single Prod
Server

Onsite
Cluster

Public Cloud

Contributor’s
laptop

Customer
Servers
Multiplicity of Goods

Do I worry about
how goods interact
(e.g. coffee beans
next to spices)

Can I transport quickly
and smoothly
(e.g. from boat to train
to truck)

Multipilicity of
methods for
transporting/storing

Cargo Transport Pre-1960: Another Matrix from
Hell
A standard container that is
loaded with virtually any
goods, and stays sealed until
it reaches final delivery.
…in between, can be loaded and
unloaded, stacked, transported
efficiently over long
distances, and transferred from
one mode of transport to another

Can I transport
quickly and smoothly
(e.g. from boat to
train to truck)

Multiplicity of
methods for
transporting/storing

Do I worry about
how goods interact
(e.g. coffee beans
next to spices)

Multiplicity of Goods

Solution: Intermodal Shipping Container
Static website

User DB

Web frontend

Queue

Analytics DB

An engine that enables any
payload to be encapsulated
as a lightweight, portable,
self-sufficient container…

Multiplicity of
hardware
environments

Development
VM

QA server

Customer Data
Center

Public Cloud

Production
Cluster

Contributor’s
laptop

Can I migrate
smoothly and quickly

…that can be manipulated using
standard operations and run
consistently on virtually any
hardware platform

Do services and apps
interact
appropriately?

Multiplicity of Stacks

Docker is a shipping container system for
code
Docker eliminates the matrix from Hell
Static website

Web frontend

Background workers

User DB

Analytics DB

Queue

Development
VM

QA Server

Single Prod
Server

Onsite
Cluster

Public Cloud

Contributor’s
laptop

Customer
Servers
Why it works—separation of concerns
• Dan the Developer
•

Worries about what’s ―inside‖ the
container
•

His Apps

•

•

His Package Manager

•

His Data

All Linux servers look the same

Worries about what’s ―outside‖
the container
•
•
•
•

His Libraries

•

•

His code

•

• Oscar the Ops Guy

•

Logging
Remote access
Monitoring
Network config

All containers start, stop, copy,
attach, migrate, etc. the same
way
Why Developers Care
• Build once…(finally) run anywhere*
• A clean, safe, hygienic and portable runtime environment for your app.
• No worries about missing dependencies, packages and other pain points during
subsequent deployments.
• Run each app in its own isolated container, so you can run various versions of libraries
and other dependencies for each app without worrying
• Automate testing, integration, packaging…anything you can script
• Reduce/eliminate concerns about compatibility on different platforms, either your own or
your customers.
• Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM?
Instant replay and reset of image snapshots? That’s the power of Docker

•

* With the 0.7 release, we will support any x86 server running a modern Linux kernel (3.2+ generally. 2.6.32+ for RHEL
6.5+, Fedora, & related)
Why Devops Cares?
• Configure once…run anything
• Make the entire lifecycle more efficient, consistent, and repeatable
• Increase the quality of code produced by developers.
• Eliminate inconsistencies between development, test, production, and customer
environments
• Support segregation of duties
• Significantly improves the speed and reliability of continuous deployment and continuous
integration systems
• Because the containers are so lightweight, address significant
performance, costs, deployment, and portability issues normally associated with VMs
More technical explanation
WHY
• Run everywhere
• Regardless of kernel version
(2.6.32+)
• Regardless of host distro
• Physical or virtual, cloud or not
• Container and host architecture
must match*

• Run anything
• If it can run on the host, it can
run in the container
• i.e. if it can run on a Linux
kernel, it can run

WHAT
• High Level—It’s a lightweight VM
•
•
•
•

Own process space
Own network interface
Can run stuff as root
Can have its own /sbin/init
(different from host)
• <<machine container>>

• Low Level—It’s chroot on
steroids
• Can also not have its own
/sbin/init
• Container=isolated processes
• Share kernel with host
• No device emulation (neither
HVM nor PV) from host)
• <<application container>>
Containers vs. VMs
App
A

App
A’

App
B

Bins/
Libs

Bins/
Libs

Bins/
Libs

Guest
OS

Guest
OS
Guest
OS

Guest
OS
Guest
OS

VM

Containers are isolated,
but share OS and, where
appropriate, bins/libraries
…result is significantly faster deployment,
much less overhead, easier migration,
faster restart

Host OS

Host OS

Server

Server

Docker

Bins/Libs

App B’

App B’

App B’

Bins/Libs

App B

App A’

Hypervisor (Type 2)

App A

Container
Why are Docker containers lightweight?
VMs

Bins/
Libs

Bins/
Libs

Bins/
Libs

Guest
OS

Guest
OS
Guest
OS

Bins/
Libs

Original App
(No OS to take
up space, resources,
or require restart)

VMs
Every app, every copy of an
app, and every slight modification
of the app requires a new virtual server

App Δ

App
A

App
A

App
A
Bins/

App
A’

App
A

Guest
OS

Containers

Copy of
App
No OS. Can
Share bins/libs

Modified App
Copy on write
capabilities allow
us to only save the diffs
Between container A
and container
A’
What are the basics of the Docker system?
Container A

Docker
Public
Index

Push

(or
Private
Registry)

Index
Search

Run

Build
Dockerfile
For
A

Docker

Container C

Host 1 OS (Linux)

Container B

Docker Engine

Container A

Source
Code
Repository

Pull

Host 2 OS (Linux)
Changes and Updates
Push

App Δ

App
A

Bins/

Bins/
Libs

Docker
Container
Image
Registry

Container
Mod A’

Container
Mod A’’

App Δ

Base
Container
Image

Bins/
Libs

Bins/

App
A
Bins/
Libs

Bins/

App
A’’

Update

Docker Engine
Host is now running A’’

Docker Engine
Host running A wants to upgrade to A’’.
Requests update. Gets only diffs
Ecosystem Support
•

Operating systems
•
•
•

•

OpenStack
•

•

Integrations with Chef, Puppet, Jenkins, Travis, Salt, Ansible +++

Orchestration tools
•
•

•

Native support in Rackspace, Digital Ocean,+++
AMI (or equivalent) available for AWS & other

DevOps Tools
•

•

Deis, Flynn, Voxoz, Cocaine (Yandex), Baidu PaaS

Public IaaS
•
•

•

OpenShift
Solum (Rackspace, OpenStack)
Other TBA

Public PaaS
•

•

Docker integration into NOVA (& compatibility with Glance, Horizon, etc.) accepted for Havana release

Private PaaS
•
•
•

•

Virtually any distribution with a 2.6.32+ kernel
Red Hat/Docker collaboration to make work across RHEL 6.4+, Fedora, and other members of the family (2.6.32 +)
CoreOS—Small core OS purpose built with Docker

Mesos, Heat, ++
Shipyard & others purpose built for Docker

Applications
•

1000’s of Dockerized applications available at index.docker.io
Use Cases
• Ted Dziuba on the Use of Docker for Continuous Integration at Ebay Now
• https://speakerdeck.com/teddziuba/docker-at-ebay
• http://www.youtube.com/watch?feature=player_embedded&v=0Hi0W4gX--4

• Sasha Klizhentas on use of Docker at Mailgun/Rackspace
• http://www.youtube.com/watch?feature=player_embedded&v=CMC3xdAo9RI

• Sebastien Pahl on use of Docker at CloudFlare
• http://www.youtube.com/watch?feature=player_embedded&v=-Lj3jt_-3r0

• Docker as the basis for PaaS and lightweight virtualization across Yandex
• http://api.yandex.com/cocaine/

• Scott Bessler/John Fiedler: Docker & Chef for CI at RelateIQ
• http://www.slideshare.net/relateiq/docker-relateiq-presentation
• http://blog.relateiq.com/why-docker-why-not-chef/

• Creating Immutable Servers with Chef and Docker.io
• http://tech.paulcz.net/2013/09/creating-immutable-servers-with-chef-and-docker-dot-io.html

• Continuous Delivery with Docker and Jenkins at Cambridge HealthCare
• http://blog.howareyou.com/post/62157486858/continuous-delivery-with-docker-and-jenkins-part-i

• Red Hat Openshift and Docker
• https://www.openshift.com/blogs/technical-thoughts-on-openshift-and-docker
Use Cases
• Deploying BitTorrent Sync with Docker
• http://blog.bittorrent.com/2013/10/22/sync-hacks-deploy-bittorrent-sync-with-docke

• Using Netflix OSS with Docker at Nirmata
• http://nirmata.com/2013/10/netflix-oss-meet-docker/

• Create “Any SaaS” (RethinkDB, MongoDB, etc.) Using Docker
• https://github.com/keeb/any-saas

• Create “Any SaaS” (RethinkDB, MongoDB, etc.) Using Docker
• https://github.com/keeb/any-saas
Use Cases—From Our Community
Use Case
Clusters

Examples
Building a MongoDB cluster using docker

Link
http://bit.ly/1acbjZf

Build your own PaaS

Production Quality MongoDB Setup with Docker
Wildfly cluster using Docker on Fedora
OpenSource PaaS built on Docker, Chef, and Heroku Buildpacks

http://bit.ly/15CaiHb
http://bit.ly/1bClX0O
http://deis.io

Web Based
Environment for
Instruction

JiffyLab – web based environment for the instruction, or lightweight use of, Python
and UNIX shell

http://bit.ly/12oaj2K

Easy Application
Deployment

Deploy Java Apps With Docker = Awesome
How to put your development environment on docker
Running Drupal on Docker
Installing Redis on Docker
Docker makes creating secure sandboxes easier than ever

http://bit.ly/11BCvvu
http://bit.ly/1b4XtJ3
http://bit.ly/15MJS6B
http://bit.ly/16EWOKh
http://bit.ly/13mZGJH

Memcached as a Service
Multi-cloud Deployment with Docker

http://bit.ly/11nL8vh
http://bit.ly/1bF3CN6

Next Generation Continuous Integration & Deployment with dotCloud’s Docker and
Strider
Testing Salt States Rapidly With Docker

http://bit.ly/ZwTfoy

Docker Desktop: Your Desktop Over SSH Running Inside Of A Docker Container

http://bit.ly/14RYL6x

Create Secure
Sandboxes
Create your own SaaS
Automated Application
Deployment
Continuous Integration
and Deployment

Lightweight Desktop
Virtualization

http://bit.ly/1eFBtcm
Docker Futures*
• Docker 0.7 ( October-Nov)
•
•
•
•

LXC

Docker 0.1-0.6
AUFS

Docker
0.8+

Fedora compatibility
Reduce kernel dependencies
Device mapper replaces AUFS
Container linking

• Docker 0.8 (Nov-Dec)
•
•
•
•
•

Shrink and stabilize Core
Provide stable, pluggable API
RHEL compatibility
Nested containers
Beam: Introspection API based on
Redis
• expand snapshot management features
for data volumes
• We will consider this ―production ready‖

• Docker 0.9 (Dec)
• Docker 1.0 (Jan)
• We will offer support for this product
* We shoot for time based releases (1x/5wks), features are targeted, but not guaranteed for particular releases
Advanced topics
• Data
•

Today: Externally mounted volumes
•
•

Share volumes between containers
Share volume between a containers and underlying hosts
•
•

•
•

•

high-performance storage backend for your production database
making live development changes available to a container, etc.

Optional: specify memory limit for containers, CPU priority
Device mapper/ LVM snapshots in 0.7

Futures:
•
•
•
•

I/O limits
Container resource monitoring (CPU & memory usage)
Orchestration (linking & synchronization between containers)
Cluster orchestration (multi-host environment)

• Networking
•

Supported today:
•

UDP/TCP port allocation to containers
•
•

•

IP allocation to containers
•

•

specify which public port to redirect. If you don’t specify a public port, docker will revert to allocating a random public port.
Docker uses IPtables/netfilter
Docker uses virtual interfaces, network bridge,

Futures:
•
•
•

See Pipework (Upstream) : Software-Defined Networking for Linux Containers (https://github.com/jpetazzo/pipework)
Certain pipework concepts will move from upstream to part of core Docker
Additional capabilities come with libvirt support in 0.8-0.9 timeframe
The Docker Ecosystem-7 months after launch
Want to learn more:
• www.docker.io:
• Documentation
• Getting started: interactive tutorial, installation instructions, getting
started guide,
• About: Introductory whitepaper: http://www.docker.io/the-whole-story/

• Github: dotcloud/docker
• IRC: freenode/#docker
• Google groups: groups.google.com/forum/#!forum/docker-user
• Twitter: follow @docker
• OpenStack Code:
• Meetups: Scheduled for Boston, San Francisco, Austin, London, Paris,
Boulder…and Nairobi. Go to website for details
www.docker.io
1 von 27

Recomendados

Introduction to Docker and all things containers, Docker Meetup at RelateIQ von
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQdotCloud
2.2K views52 Folien
Introduction to Docker - Docker workshop @Twitter von
Introduction to Docker - Docker workshop @TwitterIntroduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @TwitterdotCloud
3K views8 Folien
Docker introduction von
Docker introductionDocker introduction
Docker introductiondotCloud
455.8K views29 Folien
Introduction To Docker von
Introduction To DockerIntroduction To Docker
Introduction To DockerHamilton Turner
11.8K views43 Folien
Introduction to docker von
Introduction to dockerIntroduction to docker
Introduction to dockerJohn Willis
3.2K views55 Folien
Docker - The Linux Container von
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux ContainerBalaji Rajan
13.5K views21 Folien

Más contenido relacionado

Was ist angesagt?

Building a smarter application Stack by Tomas Doran from Yelp von
Building a smarter application Stack by Tomas Doran from YelpBuilding a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from YelpdotCloud
166K views42 Folien
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12 von
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
4.9K views36 Folien
Shipping Applications to Production in Containers with Docker von
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
53.8K views53 Folien
Basic docker for developer von
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
3.6K views261 Folien
Are VM Passé? von
Are VM Passé? Are VM Passé?
Are VM Passé? dotCloud
7.3K views35 Folien
Introduction to container based virtualization with docker von
Introduction to container based virtualization with dockerIntroduction to container based virtualization with docker
Introduction to container based virtualization with dockerBangladesh Network Operators Group
3.2K views25 Folien

Was ist angesagt?(20)

Building a smarter application Stack by Tomas Doran from Yelp von dotCloud
Building a smarter application Stack by Tomas Doran from YelpBuilding a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud166K views
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12 von dotCloud
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
dotCloud4.9K views
Shipping Applications to Production in Containers with Docker von Jérôme Petazzoni
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni53.8K views
Are VM Passé? von dotCloud
Are VM Passé? Are VM Passé?
Are VM Passé?
dotCloud7.3K views
Docker worshop @Twitter - How to use your own private registry von dotCloud
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
dotCloud7.4K views
Introduction to docker von Instruqt
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt662 views
DCA. certificate slide Session 1 von Hadi Tayanloo
DCA. certificate slide Session 1DCA. certificate slide Session 1
DCA. certificate slide Session 1
Hadi Tayanloo133 views
Docker Basics von DuckDuckGo
Docker BasicsDocker Basics
Docker Basics
DuckDuckGo1.1K views
Deploying containers and managing them on multiple Docker hosts, Docker Meetu... von dotCloud
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
dotCloud17.3K views
Docker 101: An Introduction von POSSCON
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON930 views
Docker for the new Era: Introducing Docker,its components and tools von Ramit Surana
Docker for the new Era: Introducing Docker,its components and toolsDocker for the new Era: Introducing Docker,its components and tools
Docker for the new Era: Introducing Docker,its components and tools
Ramit Surana1.7K views
Docker Registry V2 von Docker, Inc.
Docker Registry V2Docker Registry V2
Docker Registry V2
Docker, Inc.25.2K views
Dockerize the World - presentation from Hradec Kralove von damovsky
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
damovsky6.1K views
Docker and containers - For Boston Docker Meetup Workshop in March 2015 von Jonas Rosland
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland1.6K views

Destacado

Why docker | OSCON 2013 von
Why docker | OSCON 2013Why docker | OSCON 2013
Why docker | OSCON 2013dotCloud
35.5K views37 Folien
Immutable infrastructure with Docker and EC2 von
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2dotCloud
57.8K views29 Folien
Why Docker von
Why DockerWhy Docker
Why DockerdotCloud
310.6K views37 Folien
Docker 101 - Nov 2016 von
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker, Inc.
7.3K views34 Folien
containerd and CRI von
containerd and CRIcontainerd and CRI
containerd and CRIDocker, Inc.
8.7K views14 Folien
Docker 101: Introduction to Docker von
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
71.2K views30 Folien

Destacado(7)

Why docker | OSCON 2013 von dotCloud
Why docker | OSCON 2013Why docker | OSCON 2013
Why docker | OSCON 2013
dotCloud35.5K views
Immutable infrastructure with Docker and EC2 von dotCloud
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
dotCloud57.8K views
Why Docker von dotCloud
Why DockerWhy Docker
Why Docker
dotCloud310.6K views
Docker 101 - Nov 2016 von Docker, Inc.
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.7.3K views
Docker 101: Introduction to Docker von Docker, Inc.
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.71.2K views
Docker Online Meetup: Announcing Docker CE + EE von Docker, Inc.
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
Docker, Inc.24.2K views

Similar a Intro Docker october 2013

Intro to Docker October 2013 von
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013Docker, Inc.
933 views27 Folien
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013 von
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
6.7K views42 Folien
Intro to Docker November 2013 von
Intro to Docker November 2013Intro to Docker November 2013
Intro to Docker November 2013Docker, Inc.
1.4K views29 Folien
OpenStack Summit von
OpenStack SummitOpenStack Summit
OpenStack SummitDocker, Inc.
794 views42 Folien
The challenge of application distribution - Introduction to Docker (2014 dec ... von
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...Sébastien Portebois
1.6K views43 Folien
Webinar Docker Tri Series von
Webinar Docker Tri SeriesWebinar Docker Tri Series
Webinar Docker Tri SeriesNewt Global Consulting LLC
316 views47 Folien

Similar a Intro Docker october 2013(20)

Intro to Docker October 2013 von Docker, Inc.
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013
Docker, Inc.933 views
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013 von dotCloud
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud6.7K views
Intro to Docker November 2013 von Docker, Inc.
Intro to Docker November 2013Intro to Docker November 2013
Intro to Docker November 2013
Docker, Inc.1.4K views
The challenge of application distribution - Introduction to Docker (2014 dec ... von Sébastien Portebois
The challenge of application distribution - Introduction to Docker (2014 dec ...The challenge of application distribution - Introduction to Docker (2014 dec ...
The challenge of application distribution - Introduction to Docker (2014 dec ...
Docker open stack boston von dotCloud
Docker open stack bostonDocker open stack boston
Docker open stack boston
dotCloud4.7K views
Devoxx 2016 - Docker Nuts and Bolts von Patrick Chanezon
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon1.4K views
Docker intro von spiddy
Docker introDocker intro
Docker intro
spiddy1.2K views
Docker - Portable Deployment von javaonfly
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly1.9K views
Demystifying Containerization Principles for Data Scientists von Dr Ganesh Iyer
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
Dr Ganesh Iyer198 views
Oscon London 2016 - Docker from Development to Production von Patrick Chanezon
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
Patrick Chanezon1.8K views

Más de dotCloud

Docker at Spotify - Dockercon14 von
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14dotCloud
56.7K views32 Folien
John Engates Keynote at Dockercon 14 von
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14dotCloud
16.4K views30 Folien
DockerCon Keynote Ben Golub von
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubdotCloud
21.4K views43 Folien
OpenStack - Docker - Rackspace HQ von
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQdotCloud
10.3K views21 Folien
Docker in pratice -chenyifei von
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
19.6K views31 Folien
Wot2013云计算架构师峰会 -陈轶飞2 von
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2dotCloud
6.6K views33 Folien

Más de dotCloud(20)

Docker at Spotify - Dockercon14 von dotCloud
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
dotCloud56.7K views
John Engates Keynote at Dockercon 14 von dotCloud
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
dotCloud16.4K views
DockerCon Keynote Ben Golub von dotCloud
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
dotCloud21.4K views
OpenStack - Docker - Rackspace HQ von dotCloud
OpenStack - Docker - Rackspace HQOpenStack - Docker - Rackspace HQ
OpenStack - Docker - Rackspace HQ
dotCloud10.3K views
Docker in pratice -chenyifei von dotCloud
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud19.6K views
Wot2013云计算架构师峰会 -陈轶飞2 von dotCloud
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
dotCloud6.6K views
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire von dotCloud
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
Introduction to dockerfile, SF Peninsula Software Development Meetup @Guidewire
dotCloud2.8K views
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire von dotCloud
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
dotCloud3.1K views
Dockerizing stashboard - Docker meetup at Twilio von dotCloud
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at Twilio
dotCloud7.8K views
Dockerizing your applications - Docker workshop @Twitter von dotCloud
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @Twitter
dotCloud10K views
Docker links | Docker workshop #2 at Twitter von dotCloud
Docker links | Docker workshop #2 at TwitterDocker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at Twitter
dotCloud2.6K views
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05 von dotCloud
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
dotCloud3.3K views
[Open stack] heat + docker von dotCloud
[Open stack] heat + docker[Open stack] heat + docker
[Open stack] heat + docker
dotCloud3.8K views
Dockerizing WordPress von dotCloud
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPress
dotCloud18.2K views
Building images from dockerfiles von dotCloud
Building images from dockerfilesBuilding images from dockerfiles
Building images from dockerfiles
dotCloud9.7K views
Docker at DevTable von dotCloud
Docker at DevTableDocker at DevTable
Docker at DevTable
dotCloud2.7K views
Docker presentation | Paris Docker Meetup von dotCloud
Docker presentation | Paris Docker MeetupDocker presentation | Paris Docker Meetup
Docker presentation | Paris Docker Meetup
dotCloud11.3K views
Lightweight Virtualization with Linux Containers and Docker | YaC 2013 von dotCloud
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
dotCloud14.2K views
Installing and running Postfix within a docker container from the command line von dotCloud
Installing and running Postfix within a docker container from the command lineInstalling and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command line
dotCloud34.9K views
LXC, Docker, and the future of software delivery | LinuxCon 2013 von dotCloud
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
dotCloud12.8K views

Último

Integrating Talent Management Practices von
Integrating Talent Management PracticesIntegrating Talent Management Practices
Integrating Talent Management PracticesSeta Wicaksana
134 views29 Folien
Quandoo - Passion - Matthias M.pptx von
Quandoo - Passion - Matthias M.pptxQuandoo - Passion - Matthias M.pptx
Quandoo - Passion - Matthias M.pptxMatthias Maximilian
23 views5 Folien
How UiPath’s European Founder Kept Control and Built an Expert Board of Direc... von
How UiPath’s European Founder Kept Control and Built an Expert Board of Direc...How UiPath’s European Founder Kept Control and Built an Expert Board of Direc...
How UiPath’s European Founder Kept Control and Built an Expert Board of Direc...Christian Dahlen
51 views15 Folien
davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen... von
davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen...davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen...
davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen...morshedislam3
17 views5 Folien
Pitch Deck Teardown: Scalestack's $1M AI sales tech Seed deck von
Pitch Deck Teardown: Scalestack's $1M AI sales tech Seed deckPitch Deck Teardown: Scalestack's $1M AI sales tech Seed deck
Pitch Deck Teardown: Scalestack's $1M AI sales tech Seed deckHajeJanKamps
597 views18 Folien

Último(20)

Integrating Talent Management Practices von Seta Wicaksana
Integrating Talent Management PracticesIntegrating Talent Management Practices
Integrating Talent Management Practices
Seta Wicaksana134 views
How UiPath’s European Founder Kept Control and Built an Expert Board of Direc... von Christian Dahlen
How UiPath’s European Founder Kept Control and Built an Expert Board of Direc...How UiPath’s European Founder Kept Control and Built an Expert Board of Direc...
How UiPath’s European Founder Kept Control and Built an Expert Board of Direc...
Christian Dahlen51 views
davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen... von morshedislam3
davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen...davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen...
davood_keshavarz_david_keshavarz_criminal_conviction_prison_sentence_judgemen...
morshedislam317 views
Pitch Deck Teardown: Scalestack's $1M AI sales tech Seed deck von HajeJanKamps
Pitch Deck Teardown: Scalestack's $1M AI sales tech Seed deckPitch Deck Teardown: Scalestack's $1M AI sales tech Seed deck
Pitch Deck Teardown: Scalestack's $1M AI sales tech Seed deck
HajeJanKamps597 views
voice logger software aegis.pdf von Nirmal Sharma
voice logger software aegis.pdfvoice logger software aegis.pdf
voice logger software aegis.pdf
Nirmal Sharma44 views
The Truth About Customer Journey Mapping von Aggregage
The Truth About Customer Journey MappingThe Truth About Customer Journey Mapping
The Truth About Customer Journey Mapping
Aggregage105 views
Monthly Social Media Update November 2023 copy.pptx von Andy Lambert
Monthly Social Media Update November 2023 copy.pptxMonthly Social Media Update November 2023 copy.pptx
Monthly Social Media Update November 2023 copy.pptx
Andy Lambert30 views
See the new MTN tariffs effected November 28, 2023 von Kweku Zurek
See the new MTN tariffs effected November 28, 2023See the new MTN tariffs effected November 28, 2023
See the new MTN tariffs effected November 28, 2023
Kweku Zurek29.5K views
Engaging Senior Leaders to Accelerate Your Continuous Improvement Program von KaiNexus
Engaging Senior Leaders to Accelerate Your Continuous Improvement ProgramEngaging Senior Leaders to Accelerate Your Continuous Improvement Program
Engaging Senior Leaders to Accelerate Your Continuous Improvement Program
KaiNexus12 views
2023 Photo Contest.pptx von culhama
2023 Photo Contest.pptx2023 Photo Contest.pptx
2023 Photo Contest.pptx
culhama32 views
December 2023 - Meat on the Bones von NZSG
December 2023 - Meat on the BonesDecember 2023 - Meat on the Bones
December 2023 - Meat on the Bones
NZSG24 views

Intro Docker october 2013

  • 2. Contents • Introduction to Docker, Containers, and the Matrix from Hell • Why people care: Separation of Concerns • Technical Discussion • Ecosystem • Use Cases • Docker Futures • Advanced topics: Networking, Data
  • 3. In the 7 months since we launched • • • • >140,000 container pulls >6,700 github stars >180 non-employee contributors >150 projects built on top of docker • UIs, mini-PaaS, Remote Desktop…. • 1000’s of Dockerized applications • Memcached, Redis, Node.js…and Hadoop • Integration in Jenkins, Travis, Chef, Puppet, Salt, Va grant and OpenStack • Meetups arranged around the world…with organizations like Ebay, Cloudflare, Yandex, and Rackspace presenting on their use of Docker
  • 4. Why all the excitement?
  • 5. User DB Static website postgresql + pgv8 + v8 nginx 1.5 + modsecurity + openssl + bootstrap 2 Background workers Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Queue Analytics DB Redis + redis-sentinel hadoop + hive + thrift + OpenJDK Web frontend Ruby + Rails + sass + Unicorn API endpoint Do services and apps interact appropriately? Multiplicity of Stacks The Challenge Development VM Production Cluster Public Cloud QA server Disaster recovery Contributor’s laptop Customer Data Center Production Servers Can I migrate smoothly and quickly? Multiplicity of hardware environments Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client
  • 6. The Matrix From Hell Static website ? ? ? ? ? ? ? Web frontend ? ? ? ? ? ? ? Background workers ? ? ? ? ? ? ? User DB ? ? ? ? ? ? ? Analytics DB ? ? ? ? ? ? ? Queue ? ? ? ? ? ? ? Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers
  • 7. Multiplicity of Goods Do I worry about how goods interact (e.g. coffee beans next to spices) Can I transport quickly and smoothly (e.g. from boat to train to truck) Multipilicity of methods for transporting/storing Cargo Transport Pre-1960: Another Matrix from Hell
  • 8. A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery. …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another Can I transport quickly and smoothly (e.g. from boat to train to truck) Multiplicity of methods for transporting/storing Do I worry about how goods interact (e.g. coffee beans next to spices) Multiplicity of Goods Solution: Intermodal Shipping Container
  • 9. Static website User DB Web frontend Queue Analytics DB An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container… Multiplicity of hardware environments Development VM QA server Customer Data Center Public Cloud Production Cluster Contributor’s laptop Can I migrate smoothly and quickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform Do services and apps interact appropriately? Multiplicity of Stacks Docker is a shipping container system for code
  • 10. Docker eliminates the matrix from Hell Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers
  • 11. Why it works—separation of concerns • Dan the Developer • Worries about what’s ―inside‖ the container • His Apps • • His Package Manager • His Data All Linux servers look the same Worries about what’s ―outside‖ the container • • • • His Libraries • • His code • • Oscar the Ops Guy • Logging Remote access Monitoring Network config All containers start, stop, copy, attach, migrate, etc. the same way
  • 12. Why Developers Care • Build once…(finally) run anywhere* • A clean, safe, hygienic and portable runtime environment for your app. • No worries about missing dependencies, packages and other pain points during subsequent deployments. • Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worrying • Automate testing, integration, packaging…anything you can script • Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. • Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM? Instant replay and reset of image snapshots? That’s the power of Docker • * With the 0.7 release, we will support any x86 server running a modern Linux kernel (3.2+ generally. 2.6.32+ for RHEL 6.5+, Fedora, & related)
  • 13. Why Devops Cares? • Configure once…run anything • Make the entire lifecycle more efficient, consistent, and repeatable • Increase the quality of code produced by developers. • Eliminate inconsistencies between development, test, production, and customer environments • Support segregation of duties • Significantly improves the speed and reliability of continuous deployment and continuous integration systems • Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
  • 14. More technical explanation WHY • Run everywhere • Regardless of kernel version (2.6.32+) • Regardless of host distro • Physical or virtual, cloud or not • Container and host architecture must match* • Run anything • If it can run on the host, it can run in the container • i.e. if it can run on a Linux kernel, it can run WHAT • High Level—It’s a lightweight VM • • • • Own process space Own network interface Can run stuff as root Can have its own /sbin/init (different from host) • <<machine container>> • Low Level—It’s chroot on steroids • Can also not have its own /sbin/init • Container=isolated processes • Share kernel with host • No device emulation (neither HVM nor PV) from host) • <<application container>>
  • 15. Containers vs. VMs App A App A’ App B Bins/ Libs Bins/ Libs Bins/ Libs Guest OS Guest OS Guest OS Guest OS Guest OS VM Containers are isolated, but share OS and, where appropriate, bins/libraries …result is significantly faster deployment, much less overhead, easier migration, faster restart Host OS Host OS Server Server Docker Bins/Libs App B’ App B’ App B’ Bins/Libs App B App A’ Hypervisor (Type 2) App A Container
  • 16. Why are Docker containers lightweight? VMs Bins/ Libs Bins/ Libs Bins/ Libs Guest OS Guest OS Guest OS Bins/ Libs Original App (No OS to take up space, resources, or require restart) VMs Every app, every copy of an app, and every slight modification of the app requires a new virtual server App Δ App A App A App A Bins/ App A’ App A Guest OS Containers Copy of App No OS. Can Share bins/libs Modified App Copy on write capabilities allow us to only save the diffs Between container A and container A’
  • 17. What are the basics of the Docker system? Container A Docker Public Index Push (or Private Registry) Index Search Run Build Dockerfile For A Docker Container C Host 1 OS (Linux) Container B Docker Engine Container A Source Code Repository Pull Host 2 OS (Linux)
  • 18. Changes and Updates Push App Δ App A Bins/ Bins/ Libs Docker Container Image Registry Container Mod A’ Container Mod A’’ App Δ Base Container Image Bins/ Libs Bins/ App A Bins/ Libs Bins/ App A’’ Update Docker Engine Host is now running A’’ Docker Engine Host running A wants to upgrade to A’’. Requests update. Gets only diffs
  • 19. Ecosystem Support • Operating systems • • • • OpenStack • • Integrations with Chef, Puppet, Jenkins, Travis, Salt, Ansible +++ Orchestration tools • • • Native support in Rackspace, Digital Ocean,+++ AMI (or equivalent) available for AWS & other DevOps Tools • • Deis, Flynn, Voxoz, Cocaine (Yandex), Baidu PaaS Public IaaS • • • OpenShift Solum (Rackspace, OpenStack) Other TBA Public PaaS • • Docker integration into NOVA (& compatibility with Glance, Horizon, etc.) accepted for Havana release Private PaaS • • • • Virtually any distribution with a 2.6.32+ kernel Red Hat/Docker collaboration to make work across RHEL 6.4+, Fedora, and other members of the family (2.6.32 +) CoreOS—Small core OS purpose built with Docker Mesos, Heat, ++ Shipyard & others purpose built for Docker Applications • 1000’s of Dockerized applications available at index.docker.io
  • 20. Use Cases • Ted Dziuba on the Use of Docker for Continuous Integration at Ebay Now • https://speakerdeck.com/teddziuba/docker-at-ebay • http://www.youtube.com/watch?feature=player_embedded&v=0Hi0W4gX--4 • Sasha Klizhentas on use of Docker at Mailgun/Rackspace • http://www.youtube.com/watch?feature=player_embedded&v=CMC3xdAo9RI • Sebastien Pahl on use of Docker at CloudFlare • http://www.youtube.com/watch?feature=player_embedded&v=-Lj3jt_-3r0 • Docker as the basis for PaaS and lightweight virtualization across Yandex • http://api.yandex.com/cocaine/ • Scott Bessler/John Fiedler: Docker & Chef for CI at RelateIQ • http://www.slideshare.net/relateiq/docker-relateiq-presentation • http://blog.relateiq.com/why-docker-why-not-chef/ • Creating Immutable Servers with Chef and Docker.io • http://tech.paulcz.net/2013/09/creating-immutable-servers-with-chef-and-docker-dot-io.html • Continuous Delivery with Docker and Jenkins at Cambridge HealthCare • http://blog.howareyou.com/post/62157486858/continuous-delivery-with-docker-and-jenkins-part-i • Red Hat Openshift and Docker • https://www.openshift.com/blogs/technical-thoughts-on-openshift-and-docker
  • 21. Use Cases • Deploying BitTorrent Sync with Docker • http://blog.bittorrent.com/2013/10/22/sync-hacks-deploy-bittorrent-sync-with-docke • Using Netflix OSS with Docker at Nirmata • http://nirmata.com/2013/10/netflix-oss-meet-docker/ • Create “Any SaaS” (RethinkDB, MongoDB, etc.) Using Docker • https://github.com/keeb/any-saas • Create “Any SaaS” (RethinkDB, MongoDB, etc.) Using Docker • https://github.com/keeb/any-saas
  • 22. Use Cases—From Our Community Use Case Clusters Examples Building a MongoDB cluster using docker Link http://bit.ly/1acbjZf Build your own PaaS Production Quality MongoDB Setup with Docker Wildfly cluster using Docker on Fedora OpenSource PaaS built on Docker, Chef, and Heroku Buildpacks http://bit.ly/15CaiHb http://bit.ly/1bClX0O http://deis.io Web Based Environment for Instruction JiffyLab – web based environment for the instruction, or lightweight use of, Python and UNIX shell http://bit.ly/12oaj2K Easy Application Deployment Deploy Java Apps With Docker = Awesome How to put your development environment on docker Running Drupal on Docker Installing Redis on Docker Docker makes creating secure sandboxes easier than ever http://bit.ly/11BCvvu http://bit.ly/1b4XtJ3 http://bit.ly/15MJS6B http://bit.ly/16EWOKh http://bit.ly/13mZGJH Memcached as a Service Multi-cloud Deployment with Docker http://bit.ly/11nL8vh http://bit.ly/1bF3CN6 Next Generation Continuous Integration & Deployment with dotCloud’s Docker and Strider Testing Salt States Rapidly With Docker http://bit.ly/ZwTfoy Docker Desktop: Your Desktop Over SSH Running Inside Of A Docker Container http://bit.ly/14RYL6x Create Secure Sandboxes Create your own SaaS Automated Application Deployment Continuous Integration and Deployment Lightweight Desktop Virtualization http://bit.ly/1eFBtcm
  • 23. Docker Futures* • Docker 0.7 ( October-Nov) • • • • LXC Docker 0.1-0.6 AUFS Docker 0.8+ Fedora compatibility Reduce kernel dependencies Device mapper replaces AUFS Container linking • Docker 0.8 (Nov-Dec) • • • • • Shrink and stabilize Core Provide stable, pluggable API RHEL compatibility Nested containers Beam: Introspection API based on Redis • expand snapshot management features for data volumes • We will consider this ―production ready‖ • Docker 0.9 (Dec) • Docker 1.0 (Jan) • We will offer support for this product * We shoot for time based releases (1x/5wks), features are targeted, but not guaranteed for particular releases
  • 24. Advanced topics • Data • Today: Externally mounted volumes • • Share volumes between containers Share volume between a containers and underlying hosts • • • • • high-performance storage backend for your production database making live development changes available to a container, etc. Optional: specify memory limit for containers, CPU priority Device mapper/ LVM snapshots in 0.7 Futures: • • • • I/O limits Container resource monitoring (CPU & memory usage) Orchestration (linking & synchronization between containers) Cluster orchestration (multi-host environment) • Networking • Supported today: • UDP/TCP port allocation to containers • • • IP allocation to containers • • specify which public port to redirect. If you don’t specify a public port, docker will revert to allocating a random public port. Docker uses IPtables/netfilter Docker uses virtual interfaces, network bridge, Futures: • • • See Pipework (Upstream) : Software-Defined Networking for Linux Containers (https://github.com/jpetazzo/pipework) Certain pipework concepts will move from upstream to part of core Docker Additional capabilities come with libvirt support in 0.8-0.9 timeframe
  • 25. The Docker Ecosystem-7 months after launch
  • 26. Want to learn more: • www.docker.io: • Documentation • Getting started: interactive tutorial, installation instructions, getting started guide, • About: Introductory whitepaper: http://www.docker.io/the-whole-story/ • Github: dotcloud/docker • IRC: freenode/#docker • Google groups: groups.google.com/forum/#!forum/docker-user • Twitter: follow @docker • OpenStack Code: • Meetups: Scheduled for Boston, San Francisco, Austin, London, Paris, Boulder…and Nairobi. Go to website for details