Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Docker in Production (Docker Austin March 2015)
Search
Josh Butts
March 05, 2015
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker in Production (Docker Austin March 2015)
Josh Butts
March 05, 2015
More Decks by Josh Butts
See All by Josh Butts
Supercharged_Search_-_Longhorn_PHP_2025.pdf
jimbojsb
0
51
I Didn't Know Laravel Could Do That!
jimbojsb
4
920
Make It Searchable (Midwest PHP 2018)
jimbojsb
1
450
High Availability PHP (Nomad PHP January 2018)
jimbojsb
1
180
Things Your Application Does When You're Not Looking (PHP Serbia 2017)
jimbojsb
0
300
Containerizing PHP Applications (Lone Star PHP 2017)
jimbojsb
2
350
Composing PHP Applications with Middleware (PHP World 2016)
jimbojsb
0
210
Containerizing PHP Applications (PHP World 2016)
jimbojsb
0
240
Just-In-Time Software Manufacturing (True North PHP 2016)
jimbojsb
1
280
Other Decks in Technology
See All in Technology
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
5
9.8k
顧客価値を追いかけたら、プライシングにたどり着いた
sansantech
PRO
2
1k
シンプルな設定ファイルで実現する AWS IAM Identity Center の ユーザー管理Terraformフレームワークを公開しました / Simplifying AWS IAM Identity Center User Management: An Open-Source Terraform Framework
yamaguchitk333
0
320
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
790
Obsidian Vault Architectures
x5gtrn
PRO
0
160
フィンテック養成勉強会#68
finengine
0
240
Metadata - Section 2: Simple Metadata & Meta Tags
mohab1
0
140
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
320
AIエージェント時代、Kaggleにどう取り組むか
takanao
1
190
Let's Change Our World—Again
snoozer05
PRO
6
680
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
210
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
0
420
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
340
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
290
Building the Perfect Custom Keyboard
takai
2
920
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
880
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Facilitating Awesome Meetings
lara
57
7.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
620
Side Projects
sachag
456
43k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Transcript
Docker in Production Josh Butts VP of Engineering
About Me • VP of Engineering, offers.com • Austin
PHP Organizer • NOT A DOCKER EXPERT • Play competitive Skee Ball • github.com/jimbojsb @jimbojsb 2
About Offers.com • We help people save money •
Launched in 2009 • 100k+ line PHP app • Millions of Uniques / Month • 1 DevOps engineer 3
A BRIEF HISTORY Before we start… 4
Production Infrastructure in 2009 5
Production Infrastructure in 2011 6 • 3x m1.large PHP/Nginx
• 3x m1.xlarge MySQL • 1x m1.large “worker” • Route 53 DNS • Cloudfront CDN
Production Infrastructure in 2013 • 5x c3.large PHP/Nginx •
3x 2XL RDS Mysql Multi-‐AZ • 1x m3.xlarge “worker” • 1x m3.4XL “mailer” • Route53 • Cloudfront 7
DOCKER And then we moved to 8
Why Docker? • It’s cool and trendy • Optimize
software/hardware density • Pink sombrero problem • Transient nature of AWS resources • We like the bleeding edge 9
Our Stack 10
Pretty Pictures 11
Some Details • Dockerfiles based on phusion/baseimage • Runit
/ multiprocess • Little to no Fleet or Etcd • Chronos for scheduling • Known-‐port service discovery 12
Issues We’ve Had • Fleet and Etcd are VERY sensitive
to DNS problems • PHP memory_limit vs Marathon limits / cgroups • Containers that need persistence (elastic search) • Sometimes we need to ssh into production 13
What’s Next • Docker for development & CI (currently
vagrant) • Increase usage of Chronos • True auto-‐scaling • Improve metrics / reporting 14
QUESTIONS? Anyone have 15
Links • Mesosphere Digital Ocean cluster create tool https:// digitalocean.mesosphere.com
• Sample PHP app used for Marathon demo https://github.com/jimbojsb/dockeraustin • Quay.io Enterprise Docker Registry https://quay.io/repository/jimbojsb/dockeraustin 16