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
92
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
210
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
120
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
300
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
160
Python and Julia. Why do we need another language? - Dwight J. Browne
pygotham2014
1
380
Weather of The Century - J. Randall Hunt
pygotham2014
0
100
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
88
Failing With Grace - Sean O'Connor
pygotham2014
0
98
Caching up and down the stack in Django - James Meickle
pygotham2014
1
92
Other Decks in Programming
See All in Programming
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
280
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
260
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
940
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
12
2.9k
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
150
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
940
実践 Dev Containers × Claude Code
touyu
1
150
DataformでPythonする / dataform-de-python
snhryt
0
150
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
280
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
330
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
720
What's new in Adaptive Android development
fornewid
0
140
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Become a Pro
speakerdeck
PRO
29
5.5k
Bash Introduction
62gerente
614
210k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
750
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
4 Signs Your Business is Dying
shpigford
184
22k
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