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
630
Awesome Commandline Tools
amjith
0
480
FuzzyFind
amjith
0
78
Awesome Command Line Tools
amjith
1
140
Modern Command Line
amjith
2
320
Thread Profiling in Python
amjith
7
840
Python Profiling
amjith
3
330
Statistical Thread Profiler
amjith
1
140
Debugging Live Python Web Applications
amjith
8
1.7k
Other Decks in Programming
See All in Programming
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
200
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
10
5.3k
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
最近のVS Codeで気になるニュース 2025/01
74th
1
110
ドメインイベント増えすぎ問題
h0r15h0
2
570
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
230
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
Amazon Nova Reelの可能性
hideg
0
200
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
310
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1.2k
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Designing for Performance
lara
604
68k
Typedesign – Prime Four
hannesfritz
40
2.5k
Code Reviewing Like a Champion
maltzj
521
39k
GitHub's CSS Performance
jonrohan
1030
460k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
GraphQLとの向き合い方2022年版
quramy
44
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
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