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
3.8k
12
Share
DockerでPaaSをつくる #ylug_111
http://kernel.doorkeeper.jp/events/10433
taichi nakashima
May 30, 2014
More Decks by taichi nakashima
See All by taichi nakashima
Platform Engineering at Mercari (Platform Engineering Kaigi 2024)
tcnksm
6
5.4k
Platform Engineering at Mercari
tcnksm
8
5.8k
Embedded SRE at Mercari
tcnksm
0
1.6k
How We Harden Platform Security at Mercari
tcnksm
2
1.9k
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
17k
Introduction to Mercari Micorservices Platform Team
tcnksm
5
3.7k
Other Decks in Technology
See All in Technology
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
400
Building a Study Buddy AI Agent from Scratch: From Passive Chatbots to Autonomous Systems
itchimonji
0
110
AgentCore Managed Harness を使ってみよう
yakumo
2
280
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
170
20260428_Product Management Summit_tadokoroyoshiro
tadokoro_yoshiro
15
17k
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
390
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
180
Modernizing Your HCL Connections Experience: Visual Report to chain, Profile Enhancements, and AI Integration
wannesrams
0
240
MySQL 9.7がやってきた ~これまでのあらすじと基本情報~ @ 日本MySQLユーザ会会2026年04月 / mysql97-yattekita
sakaik
0
150
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
340
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
120
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
1
660
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
360
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
280
Exploring anti-patterns in Rails
aemeredith
3
340
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
270
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.9k
Technical Leadership for Architectural Decision Making
baasie
3
340
How STYLIGHT went responsive
nonsquared
100
6.1k
Scaling GitHub
holman
464
140k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
380
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/