Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker ApplicationをDaaSにデプロイ #dockerjp
Search
taichi nakashima
April 11, 2014
Technology
11
6.6k
Docker ApplicationをDaaSにデプロイ #dockerjp
at Docker meetup Tokyo #2
taichi nakashima
April 11, 2014
Tweet
Share
More Decks by taichi nakashima
See All by taichi nakashima
Platform Engineering at Mercari (Platform Engineering Kaigi 2024)
tcnksm
6
4.9k
Platform Engineering at Mercari
tcnksm
8
5.5k
Embedded SRE at Mercari
tcnksm
0
1.6k
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
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.4k
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
620
プロダクトマネージャーが押さえておくべき、ソフトウェア資産とAIエージェント投資効果 / pmconf2025
i35_267
2
340
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
280
Security Diaries of an Open Source IAM
ahus1
0
110
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
1
140
Introduction to Bill One Development Engineer
sansan33
PRO
0
330
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
16k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.3k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Scaling GitHub
holman
464
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Rails Girls Zürich Keynote
gr2m
95
14k
Bash Introduction
62gerente
615
210k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
Deploying Docker Application to DaaS by @deeeet
Taichi Nakashima @deeeet ! • http://deeeet.com/writing (SOTA) • tcnksm/rbdock •
Docker ދͷר, Serf ދͷר
Rails Application Λ Docker ίϯςφʹͷͤͯ Docker as a Service (DaaS)
ʹσϓϩΠ͢Δ
DaaS Docker as a Service Docker ϗεςΟϯάαʔϏε https://orchardup.com/ https://orchardup.com/
DaaS Rails Application Λ Docker ίϯςφʹͷͤͯ Docker as a Service
(DaaS) ʹσϓϩΠ͢Δ https://orchardup.com/ DaaS https://orchardup.com/ https://orchardup.com/
DaaS Rails Application Λ Docker ίϯςφʹͷͤͯ Docker as a Service
(DaaS) ʹσϓϩΠ͢Δ https://orchardup.com/ DaaS https://stackdock.com/
DaaS Rails Application Λ Docker ίϯςφʹͷͤͯ Docker as a Service
(DaaS) ʹσϓϩΠ͢Δ https://orchardup.com/ DaaS http://www.tutum.co/
Orchard • ؆୯ͳίϚϯυϥΠϯϥούʔΛ௨ͯ͡ ϩʔΧϧ͔Βಉ͡ίϚϯυୟ͚ͩ͘Ͱ͑Δ • 1࣌ؒ1ԁ/1݄1000ԁఔͰ͑Δ (512MB RAM/20GB SSD) •
Fig (ίϯςφؒͷ࿈ܞΛࢧԉ͢Δπʔϧ)ͷ ։ൃΛ͍ͯ͠Δ
Environment • OSX • boot2docker • mkwiatkowski/todo-rails4-angularjs (Rails) worked with
ruby2.0.0p-247, postgresql (DB)
Overview Postgresql Container Rails Container :3000 5432:5432
Dockerfile (Rails) $ gem install rbdock $ rbdock 2.0.0-p247 --app
todo-rails4-angularjs https://github.com/tcnksm/rbdock
development: adapter: postgresql template: template0 encoding: unicode database: todo_rails4_angularjs_development pool:
5 username: docker password: docker host: <%= ENV.fetch('DB_PORT_5432_TCP_ADDR') %> port: <%= ENV.fetch('DB_PORT_5432_TCP_PORT') %> http://deeeet.com/writing/2014/03/20/docker-link-container/ config/database.yml
Development at local
$ docker run -d -p 5432:5432 \ -e POSTGRESQL_USER=docker \
-e POSTGRESQL_PASS=docker \ -name pg \ orchardup/postgresql Postgresql Container
$ docker run -d -p 5432:5432 \ -e POSTGRESQL_USER=docker \
-e POSTGRESQL_PASS=docker \ -name pg \ orchardup/postgresql Rails Container $ docker run -i t —p 3000:3000 \ -link pg:db \ tcnksm/rails \ 'rake db:create && rake db:migrate && rails server'
http://localhost:3000
Development at local • มߋ͕ೖͬͨΒ build && run (+Guard) •
VolumesػೳΛ͑ϦΞϧλΠϜߋ৽ (+ ONBUILD)
Docker Share (ngrok) $ orchard hosts create Orchard username: tcnksm
Password: Default host running at 162.243.106.93 $ ngrok 3000 http://36a98c94.ngrok.com -> 127.0.0.1:3000
http://36a98c94.ngrok.com
Deploy to Orchard
Login to Orchard $ orchard hosts create Orchard username: tcnksm
Password: Default host running at 162.243.106.93
$ orchard docker run -d -p 5432:5432 \ -e POSTGRESQL_USER=docker
\ -e POSTGRESQL_PASS=docker \ -name pg \ orchardup/postgresql Postgresql Container
$ docker run -d -p 5432:5432 \ -e POSTGRESQL_USER=docker \
-e POSTGRESQL_PASS=docker \ -name pg \ orchardup/postgresql Rails Container $ orchard docker run -i t —p 80:3000 \ -link pg:db \ tcnksm/rails \ 'rake db:create && rake db:migrate && rails server'
http://162.243.106.93
Conclusion • DaaSʹRails ApplicationΛDeploy • Orchard ͱͯγϯϓϧ -> ϩʔΧϧ͔Βಉ͡ίϚϯυΛୟ͚ͩ͘
Future • HerokuʹpushͱൺͯԿ͕ྑ͍ͷ? -> DockerͰΔརͷٻʢ͖উखͰ͖Δ+αʣ • ίϯςφ্ཱͪ͛ͨޙ? -> ࣮ࡍͷӡ༻
Thanks