Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Docker
Search
Amjith
April 12, 2014
Programming
8
1.4k
Introduction to Docker
Docker talk at PyCon 2014.
Amjith
April 12, 2014
Tweet
Share
More Decks by Amjith
See All by Amjith
How Netflix does Failovers in 7 minutes
amjith
0
640
Awesome Commandline Tools
amjith
0
490
FuzzyFind
amjith
0
80
Awesome Command Line Tools
amjith
1
140
Modern Command Line
amjith
2
320
Thread Profiling in Python
amjith
7
840
Python Profiling
amjith
3
340
Statistical Thread Profiler
amjith
1
140
Debugging Live Python Web Applications
amjith
8
1.7k
Other Decks in Programming
See All in Programming
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
180
React 19アップデートのために必要なこと
uhyo
8
1.6k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
420
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
670
良いコードレビューとは
danimal141
9
8.6k
Modern Angular with Signals and Signal StoreNew Rules for Your Architecture @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
110
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
21
4.4k
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.3k
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
270
若手バックエンドエンジニアが Elasticsearch を使ってみた話
hott0mott0
1
100
PEPCは何を変えようとしていたのか
ken7253
3
310
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
180
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Docker and Python
trallard
44
3.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Faster Mobile Websites
deanohume
306
31k
A Tale of Four Properties
chriscoyier
158
23k
Scaling GitHub
holman
459
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Building an army of robots
kneath
303
45k
Transcript
@amjithr Intro to Docker PYCON ▪ Saturday, April 12, 14
@amjithr Hi Saturday, April 12, 14
Saturday, April 12, 14
@amjithr Why? Celery Saturday, April 12, 14
@amjithr WHAT’S Docker? Not Pants Saturday, April 12, 14
@amjithr DotCloud -> Docker Inc Jan Written in Go Active
community History Saturday, April 12, 14
@amjithr “Docker is an open-source engine that automates the deployment
of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere*.” Saturday, April 12, 14
@amjithr CHROOT BSD JAILS SOLARIS ZONES What? Saturday, April 12,
14
@amjithr Linux Containers AUFS Git like versioning REST API What?
Saturday, April 12, 14
@amjithr What? Bare Metal Host OS Hypervisor Guest OS Libs
AppA Guest OS Libs AppB Guest OS Libs AppC Bare Metal Host OS D o c k e r Libs Libs App A App A’ App B App B’ VM Container Saturday, April 12, 14
@amjithr Lightweight Isolated Instances Faster than VMs Why? Saturday,
April 12, 14
@amjithr docs.docker.io - Installation instructions OS X - boot docker
(VM) + docker client Setup OS X VBox linux C0 C1 client Linux C0 C1 client Saturday, April 12, 14
@amjithr Docker Daemon - Server Docker Client - Client Terminology
Saturday, April 12, 14
@amjithr Terminology Daemon Linux TCP Socket Client Client Linux TCP
Client OS X TCP Saturday, April 12, 14
@amjithr DEMO Saturday, April 12, 14
@amjithr Images - Read-only snapshot Containers - Instantiation of an
Image Terminology Saturday, April 12, 14
@amjithr Terminology Master Copy Photocopy B + Margin Notes Photocopy
A + Highlights Photocopy C Saturday, April 12, 14
@amjithr Terminology IMAGE Lib Bin Env Vars Files ContainerB Lib
Bin Env Vars’ Files ContainerA Lib Bin Env Vars Files ContainerC Lib Bin Env Vars Files’ Saturday, April 12, 14
@amjithr Registry - PyPI for docker images Repository - Projects
in the Registry Terminology Saturday, April 12, 14
@amjithr docker pull <image-name> docker images docker run <image-name> <command>
docker ps docker logs Basics Saturday, April 12, 14
@amjithr Dockerfile - Series of commands Automation Saturday, April 12,
14
@amjithr Dockerfile FROM base ENV TEST_ENV true ADD test_file /
RUN apt-get update RUN apt-get install -y fortune cowsay CMD fortune | cowsay Saturday, April 12, 14
@amjithr Django Port Forwarding docker run -d django-docker Network Saturday,
April 12, 14
@amjithr Django Port Forwarding docker run -d -p host:container django-docker
Network Saturday, April 12, 14
@amjithr Volumes - Mount folders - host/container docker run -v
host_path:container_path django Links - Service discovery through env vars docker run --link mysql:db --name webapp django Misc Saturday, April 12, 14
@amjithr Docker daemon is also a server REST API -
List of images/containers - Create/Start/Stop/Delete containers - Websocket attach - Shipyard REST API Saturday, April 12, 14
Saturday, April 12, 14
@amjithr PERFORMANCE! Saturday, April 12, 14
@amjithr New Relic adapter_cherrypy.py adapter_flup.py adapter_gevent.py adapter_gunicorn.py adapter_meinheld.py adapter_paste.py adapter_waitress.py
adapter_wsgiref.py application_celery.py application_gearman.py component_cornice.py component_piston.py component_tastypie.py coroutines_gevent.py database_dbapi2.py database_mysql.py database_mysqldb.py database_psycopg2.py database_sqlite.py datastore_pymongo.py external_dropbox.py external_facepy.py external_feedparser.py external_httplib.py external_httplib2.py external_pywapi.py external_requests.py external_thrift.py external_urllib.py external_urllib2.py external_urllib3.py external_xmlrpclib.py framework_bottle.py framework_cherrypy.py framework_django.py framework_flask.py framework_pylons.py framework_pyramid.py framework_tornado.py framework_twisted.py framework_web2py.py framework_webpy.py memcache_memcache.py memcache_pylibmc.py memcache_umemcache.py middleware_weberror.py solr_pysolr.py solr_solrpy.py template_genshi.py template_jinja2.py template_mako.py Saturday, April 12, 14
@amjithr New Relic Saturday, April 12, 14
@amjithr Problem Celery Saturday, April 12, 14
@amjithr Solution Celery Saturday, April 12, 14
@amjithr REBUILDING the server is trivial. Cloning a new server
is effortless. Why? DEV PROD Saturday, April 12, 14
@amjithr Solution DEV PROD REGISTRY Saturday, April 12, 14
@amjithr Website: www.docker.io IRC: freenode #docker google groups: docker-user Community
Saturday, April 12, 14
@amjithr THANK YOU! @amjithr Saturday, April 12, 14
Questions? • Promo: http://newrelic.com/pycon • 30 days of Pro. •
Free T-shirt. • In-depth data. Saturday, April 12, 14