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
DockerでPaaSをつくる #ylug_111
Search
taichi nakashima
May 30, 2014
Technology
12
3.8k
DockerでPaaSをつくる #ylug_111
http://kernel.doorkeeper.jp/events/10433
taichi nakashima
May 30, 2014
Tweet
Share
More Decks by taichi nakashima
See All by taichi nakashima
Platform Engineering at Mercari (Platform Engineering Kaigi 2024)
tcnksm
6
4.8k
Platform Engineering at Mercari
tcnksm
8
5.5k
Embedded SRE at Mercari
tcnksm
0
1.5k
How We Harden Platform Security at Mercari
tcnksm
2
1.8k
SRE Practices in Mercari Microservices
tcnksm
11
14k
開発者向けの基盤をつくる
tcnksm
38
12k
How We Structure Our Work At Mercari Microservices Platform Team
tcnksm
11
23k
Microservices Platform on Kubernetes at Mercari
tcnksm
16
16k
Introduction to Mercari Micorservices Platform Team
tcnksm
5
3.7k
Other Decks in Technology
See All in Technology
[mercari GEARS 2025] Keynote
mercari
PRO
1
310
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.8k
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
190
LINEスキマニ/LINEバイトにおけるバックエンド開発
lycorptech_jp
PRO
0
300
大規模モノレポの秩序管理 失速しない多言語化フロントエンドの運用 / JSConf JP 2025
shoota
0
240
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
4
560
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
300
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
290
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
570
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
520
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.4k
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
150
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
4 Signs Your Business is Dying
shpigford
186
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Documentation Writing (for coders)
carmenintech
76
5.1k
Transcript
Build your own PaaS by Docker
I’m Taichi Nakashima Twitter ID is @deeeet
http://deeeet.com/writing
DockerΛͬͯOSSͳPaaSΛߏங͢Δ ϓϩδΣΫτͷհ
Why PaaS by ?
࣮ߦڥ: Dyno (base on LXC) Ϗϧυ: Slug compiler (buidpack) ىಈ:
Procfile $ git push heroku master
• ContainerܕԾԽ͕؆୯ʹͳͬͨ • ʢ Buildpack͕ެ։͞Ε͍ͯΔʣ Why ?
Ruby https://github.com/heroku/heroku-buildpack-ruby Node.js https://github.com/heroku/heroku-buildpack-nodejs Clojure https://github.com/heroku/heroku-buildpack-clojure Python https://github.com/heroku/heroku-buildpack-python Java https://github.com/heroku/heroku-buildpack-java
Gradle https://github.com/heroku/heroku-buildpack-gradle Scala https://github.com/heroku/heroku-buildpack-scala Play https://github.com/heroku/heroku-buildpack-play Buildpack
Flynn Building https://github.com/CenturyLinkLabs/building https://flynn.io/ dokku https://github.com/progrium/dokku
dokku Docker ʹΑΔmini-Heroku 100ߦͷBashͰॻ͔ΕͨγϯϓϧͳPaaS࣮
࣮ߦڥ: Dyno (base on LXC) Ϗϧυ: Slug compiler (buidpack) ىಈ:
Procfile $ git push heroku master ࣮ߦڥ: Docker (progrium/buildstep) Ϗϧυ: builderεΫϦϓτ (buidpack) ىಈ: Procfile $ git push dokku master dokku
Building buildpackΛͬͨDocker Containerͷ࡞ ΧδϡΞϧʹHeroku on DockerΛ࣮ݱ͢Δ
࣮ߦڥ: Docker (ctlc/buildstep) Ϗϧυ: builderεΫϦϓτ (buidpack) ىಈ: Procfile $ building
-p 3000 tcnksm/myapp ࣮ߦڥ: Docker (progrium/buildstep) Ϗϧυ: builderεΫϦϓτ (buidpack) ىಈ: Procfile $ git push dokku master Building dokku
Prepare $ gem install building Building
Run $ cd your-application $ building -p 3000 tcnksm/myapp 1.
ઐ༻ͷDockerfileͷੜ 2. ImageͷϏϧυ 3. Containerͷىಈ Building
Dockerfile FROM ctlc/buildstep ! ADD . /app #1)ΞϓϦέʔγϣϯͷՃ RUN /build/builder
#2)ΞϓϦέʔγϣϯͷผ/Ϗϧυ CMD /start web #3) Procfileʹج͖ͮΞϓϦέʔγϣϯͷىಈ
++
Flynn Next generation open source Platform as a Service (PaaS)
• 12 factor AppͷΑ͏ͳαʔϏεΛ࡞Δ • 2ͭͷlayerͰߏ͞ΕΔ • CoreOSͷetcdʹΑΔαʔϏεσΟεΧόϦ (layer0) •
HerokuͷΑ͏ͳΞϓϦέʔγϣϯͷσϓϩΠ/Ϗϧυ (layer1) • Herokuͷ؆ศ͞ͱEC2ͷࣗ༝Λ݉Ͷඋ͑Δ Flynn
DockerΛͬͯOSSͳPaaSΛߏங͢Δ ϓϩδΣΫτͷհ Conclusion
Reference • Inside Dokku in 5 minutes • http://banyan.me/slides/20140116/slides.html •
The Start of the Age of Flynn • http://progrium.com/blog/2014/02/06/the-start-of-the-age-of-flynn/ • Flynn vs. Deis: The Tale of Two Docker Micro-PaaS • http://www.centurylinklabs.com/flynn-vs-deis-the-tale-of-two-docker-micro-paas-technologies/