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.3k
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
560
Awesome Commandline Tools
amjith
0
450
FuzzyFind
amjith
0
71
Awesome Command Line Tools
amjith
1
130
Modern Command Line
amjith
2
290
Thread Profiling in Python
amjith
7
830
Python Profiling
amjith
3
310
Statistical Thread Profiler
amjith
1
130
Debugging Live Python Web Applications
amjith
8
1.6k
Other Decks in Programming
See All in Programming
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
4
580
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
8
2.1k
Build with AI 2024 Seoul - 제로부터 시작하는 Flutter with Gemini 생활 - 박제창
itsmedreamwalker
0
200
スクラムチームと認知負荷 - ニフティのスクラムトーク Vol2. / NIFTY Tech Talk #18
niftycorp
PRO
1
120
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
480
Ruby Pattern Matching
bkuhlmann
0
920
Hanami and htmx
bkuhlmann
0
190
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
430
Elm Form Validation
bkuhlmann
0
510
1인 개발자로 행복하게 살기 - GDG 송도 헬로월드 2024
benjaminkim
1
5.6k
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.2k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1023
450k
Embracing the Ebb and Flow
colly
79
4.1k
Building Effective Engineering Teams - LeadDev
addyosmani
27
1.8k
Documentation Writing (for coders)
carmenintech
59
3.9k
Debugging Ruby Performance
tmm1
70
11k
Visualization
eitanlees
135
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
15
1.4k
GraphQLとの向き合い方2022年版
quramy
31
12k
Designing with Data
zakiwarfel
95
4.8k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
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