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
78
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
200
What Problem Are You Trying to Solve, Anyway? - Alfred Lee
pygotham2014
0
110
Decorators 101: A Gentle Introduction to Functional Programming - Jillian Munson
pygotham2014
3
250
Pretty Pictures Please - Hannah Aizenmann
pygotham2014
0
150
Python and Julia. Why do we need another language? - Dwight J. Browne
pygotham2014
1
380
Weather of The Century - J. Randall Hunt
pygotham2014
0
69
Setting up your Python development environment in IPython - Daniel Kronovet
pygotham2014
0
79
Failing With Grace - Sean O'Connor
pygotham2014
0
93
Caching up and down the stack in Django - James Meickle
pygotham2014
1
78
Other Decks in Programming
See All in Programming
Hanami and htmx
bkuhlmann
0
210
Ruby Pattern Matching
bkuhlmann
0
930
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
920
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
950
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
380
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
140
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
810
Netty Chicago Java User Group 2024-04-17
sullis
0
180
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
0
250
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
410
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
A Philosophy of Restraint
colly
197
16k
How to name files
jennybc
65
93k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Being A Developer After 40
akosma
57
580k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Atom: Resistance is Futile
akmur
259
25k
A better future with KSS
kneath
231
16k
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