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.7k
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
5
3.9k
Platform Engineering at Mercari
tcnksm
8
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
13k
開発者向けの基盤をつくる
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.5k
Other Decks in Technology
See All in Technology
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
250
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
140
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
150
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
110
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
2
560
生成 AI プロダクトを育てる技術 〜データ品質向上による継続的な価値創出の実践〜
icoxfog417
PRO
5
1.9k
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
180
わたしのOSS活動
kazupon
2
340
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
170
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
1
250
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
130
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
470
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
BBQ
matthewcrist
87
9.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Being A Developer After 40
akosma
89
590k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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/