docker and containers overview - docker workshop
Post on 16-Apr-2017
1.452 Views
Preview:
TRANSCRIPT
An Open Platform to Build, Ship, and Run Distributed Applications
whoami
Jonas Rosland Developer Advocate
EMC {code} emccode.github.io
@jonasrosland jonas.rosland@emc.com
March 20, 2013: Docker Launches
https://www.youtube.com/watch?v=wW9CAH9nSLs
15 Months Later: An Incredible Platform and Ecosystem
Official Repos & 14K+ Dockerized Apps
Community 460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub
Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners
The Docker Platform
Docker Engine
Docker Hub
Build, Ship, and Run
Partners
Content
Users
24 Months Later: An Incredible Platform and Ecosystem
Official Repos & 14K+ Dockerized Apps
Community 790+ Contributors 150+ Meetup Groups 100M+ Downloads 50K Projects on GitHub
Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners
The Docker Platform
Docker Engine
Docker Hub 75K Apps in the Hub
Build, Ship, and Run
Partners
Content
Users
We know we’re riding on your shoulders
Thank You to the Giants
• Namespaces (IBM) • Cgroups (Google) • LXC tools
• The Linux Kernel • Git • SELinux (Red Hat) • Solaris Zones
• BSD Jails
• +++
Thank You Users/Use Cases*
*A small subset of the 100s who are using and/or writing about us Thanks to those above for talking about their experiences at DockerCon
• Using Docker in our ECS appliances
And of course…
The Docker Ecosystem
Agenda
Official Repos & 14K + Dockerized Apps
Partners
Content
Users
Community 460+ Contributors 250+ Meetups on Docker 2.75M Downloads 6.7K Projects on GitHub
Support Enterprise Support Robust Documentation Implementation, Integration, Training Network of Partners
The Docker Platform
Docker Engine Docker Hub
Build, Ship, and Run
~2000 2014Long lived Development is iterative and constant
Monolithic and built on a single stack Built from loosely coupled components
Deployed to a single server Deployed to a multitude of servers
Apps Have Fundamentally Changed
Static website
Web frontend
User DB
Queue
Analytics DB
Background workersAPI endpoint
nginx 1.5 + modsecurity + openssl + bootstrap 2
postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK
Ruby + Rails + sass + Unicorn
Redis + redis-sentinel
Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery +
psycopg + postgresql-client
Development VM
QA Server
Public Cloud
Disaster Recovery
Contributor’s LaptopProduction Servers
Mul
tiplic
ity o
f Sta
cks
Mul
tiplic
ity o
f Har
dwar
e En
viro
nmen
ts
Production Cluster
Customer Data Center
Do services and apps
interact appropriately?C
an I migrate sm
oothly and quickly?
The Problem in 2014
Results in NxN compatibility nightmare
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development VM QA Server Single Prod
ServerOnsite Cluster
Public Cloud
Contributor’s laptop
Customer Servers
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
A useful analogy…
Cargo Transport Pre-1960M
ultip
licity
of
Goo
dsM
ultip
licity
of
met
hods
for
tran
spor
ting/
stor
ing
Do I w
orry 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)
Also an NxN Matrix
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Solution: Intermodal Shipping ContainerM
ultip
licity
of
Goo
dsD
o 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)
…in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another
A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
This eliminated the NxN problem
The Right Approach to Containers Matters
• Separation of concerns • Automation • Efficiency • Broad ecosystem
Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg
Docker is a shipping container system for code
Static website Web frontend User DB Queue Analytics DB
Development VM
QA server Public Cloud Contributor’s laptop
Mul
tiplic
ity o
f S
tack
s
Production Cluster
Customer Data Center
Do services and apps interact
appropriately?
Can I m
igrate sm
oothly and quickly
…that can be manipulated using standard operations and run consistently on virtually any hardware platform
An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
…or put more simply
Static website Web frontend User DB Queue Analytics DB
Development VM
QA server Public Cloud Contributor’s laptop
Mul
tiplic
ity o
f S
tack
s
Production Cluster
Customer Data Center
Do services and apps interact
appropriately?
Can I m
igrate sm
oothly and quickly
Operator: Configure Once, Run Anything
Developer: Build Once, Run Anywhere (Finally)
An Open Platform to Build, Ship, and Run Distributed Applications
Containers vs. VMs
Why are Docker containers lightweight?
What are the basics of the Docker system?
An Open Platform…
API
Engine Hub
open source software at the heart of the Docker platform
cloud-based platform services for distributed applications
API
An Open Platform…
Any App
Any infrastructure • Physical • Virtual cloud
+ 75K apps + 50K projects
API
Engine Hub
cloud-based platform services for distributed applications
API
open source software at the heart of the Docker platform
…to Build, Ship, and Run
Build Ship
Run
Dev
QA
Source
Staging
Physical
Virtual
Cloud
Infrastructure Management
Infrastructure Management
DockerFile
Source Code Repository
TESTTEST
TESTTEST
TEST
GCE RAX IBM
Mac/Win Dev Machine
Boot2Docker
Doc
ker
AnalyticsDB
Prod Machine
Linux OS
Doc
ker
Doc
ker
++
Users Collab
Provenance Policy
Docker Hub
Registries
Public Curated Private
Docker Hub API
Third Party Tools
Prod Machine
Linux OS
Doc
ker
Doc
ker
Prod Machine
Linux OS
Doc
ker
Doc
ker
VM
Doc
ker
Doc
ker
VM
Doc
ker
Doc
ker
VM
Doc
ker
Doc
ker
QA Machine
Linux OS
Doc
ker
Doc
ker
…Distributed Applications
Data
UserDB
Queue
AnalyticsDB
API Endpoint
WebFrontend
Data
Background Workers
Development VM
QA Server
Public Cloud
Disaster Recovery
Contributor’s LaptopProduction Servers
Production Cluster
Customer Data Center
• Faster delivery of your applications
• Deploying and scaling more easily
• Achieving higher density and running more workloads
So to finish up, Docker enables
An Open Platform to Build, Ship, and Run Distributed Applications
top related