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
91
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
290
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
91
Other Decks in Programming
See All in Programming
関数型まつりレポート for JuliaTokai #22
antimon2
0
130
GoのGenericsによるslice操作との付き合い方
syumai
2
670
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
310
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
130
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
820
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
11
2.7k
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
140
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
160
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
2k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
Java on Azure で LangGraph!
kohei3110
0
160
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
190
Featured
See All Featured
Embracing the Ebb and Flow
colly
86
4.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Side Projects
sachag
455
42k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
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