Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to Docker
Search
Amjith
April 12, 2014
Programming
1.5k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Docker
Docker talk at PyCon 2014.
Amjith
April 12, 2014
More Decks by Amjith
See All by Amjith
How Netflix does Failovers in 7 minutes
amjith
0
740
Awesome Commandline Tools
amjith
0
570
FuzzyFind
amjith
0
120
Awesome Command Line Tools
amjith
1
180
Modern Command Line
amjith
2
400
Thread Profiling in Python
amjith
7
880
Python Profiling
amjith
3
390
Statistical Thread Profiler
amjith
1
180
Debugging Live Python Web Applications
amjith
8
1.9k
Other Decks in Programming
See All in Programming
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
930
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.2k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
200
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.3k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
830
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
870
R8 の設定見直しでアプリサイズ削減
andpad
0
230
AI-Powered Domain-Driven Design
ziobrando
0
290
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.5k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
630
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.7k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Tell your own story through comics
letsgokoyo
1
1.1k
Between Models and Reality
mayunak
4
500
Embracing the Ebb and Flow
colly
88
5.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Fireside Chat
paigeccino
43
4.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
510
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
A better future with KSS
kneath
240
18k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
640
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Music & Morning Musume
bryan
48
7.4k
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