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
Python Apps and Docker - Matt Wright
Search
PyGotham 2014
August 16, 2014
Programming
0
94
Python Apps and Docker - Matt Wright
An overview of why and how one might use Docker for Python applications
PyGotham 2014
August 16, 2014
Tweet
Share
More Decks by PyGotham 2014
See All by PyGotham 2014
Service Oriented Flask - Randall Degges
pygotham2014
3
220
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
130
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
310
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
170
Python and Julia. Why do we need another language? - Dwight J. Browne
pygotham2014
1
390
Weather of The Century - J. Randall Hunt
pygotham2014
0
110
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
91
Failing With Grace - Sean O'Connor
pygotham2014
0
100
Caching up and down the stack in Django - James Meickle
pygotham2014
1
97
Other Decks in Programming
See All in Programming
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
130
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
170
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
240
浮動小数の比較について
kishikawakatsumi
0
380
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
180
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
110
15年目のiOSアプリを1から作り直す技術
teakun
1
600
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
470
CSC307 Lecture 15
javiergs
PRO
0
220
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
KATA
mclloyd
PRO
35
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
65
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
240
Color Theory Basics | Prateek | Gurzu
gurzu
0
230
GraphQLとの向き合い方2022年版
quramy
50
14k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
140
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Transcript
Python Apps & Docker @pygotham 2014
Matt Wright @mattupstate Software/Ops Engineer @ChatID • Python, Lua, CoffeeScript
• Flask, Prosody, Backbone, Angular Open Source • Author: Flask-Security, Flask-JWT, ... • Contributor: Ansible, Flask • Member: metaflask
What’s all the fuss about?
“... an open platform for developers and sysadmins to build,
ship, and run distributed applications.” http://docker.com/whatisdocker Docker:
Images A stateless, read-only collection of “layers” joined together via
a union filesystem. Containers A stateful instance of an image in which one or more processes are running or have exited Docker: Concepts
Docker: Components Docker Engine A portable, lightweight system level daemon
that manages images and containers Docker Hub A web service for distributing images and enabling automated workflows
Docker Hub Server Docker Engine Docker CLI Containers Images Docker:
Birds Eye View Repository Images Repository Images Repository Images Repository Images
• Development Environments • Application Deployment • Continuous Integration •
Continuous Delivery • Platform-as-a-Service (PaaS) Docker: Use Cases
Tooling Kubernetes Marathon maestro-ng Shipyard fig Platforms Elastic Beanstalk CoreOS
flynn.io deis.io Docker: Landscape SaaS circleci.com shippable.com drone.io quay.io and many more (to come) ...
boot2docker https://coderwall.com/p/fvfjyg
+
Development Environments
• OS • System libraries • Python dependencies • Database,
cache, etc Dev Env: Components
• Constantly change • Never truly consistent • Miscommunication (Ops
vs. Devs) • “Drift” Dev Env: Problems
• README • Stacks (LAMP, XAMP) • Virtual Machines •
Vagrant + (Chef | Puppet | Ansible) Dev Envs: Before
• Easy to change and share • Always consistent •
100% Isolated • Single authority • Production ready! Dev Envs: Docker!
Dockerfile
Testing
Fig $ pip install fig
Production Ready
• Be skeptical of Docker dogma • Keep secrets out
of env vars • Don’t use Docker for everything • Design images carefully Docker Tips
Thank You! mattupstate.com gittip.com/mattupstate github.com/mattupstate twitter.com/mattupstate