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 ApplicationをDaaSにデプロイ #dockerjp
Search
taichi nakashima
April 11, 2014
Technology
11
6.5k
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.1k
Platform Engineering at Mercari
tcnksm
8
5.1k
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.6k
Other Decks in Technology
See All in Technology
クラウド開発環境Cloud Workstationsの紹介
yunosukey
0
210
今日からはじめるプラットフォームエンジニアリング
jacopen
8
1.8k
OPENLOGI Company Profile
hr01
0
63k
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
210
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
840
Databricksで完全履修!オールインワンレイクハウスは実在した!
akuwano
0
130
生成AIのユースケースをとにかく集めてまるっと学ぶ!/ all about generative ai usecases
gakumura
2
310
AZ 名とAZ ID の違いを 何度でも言うよ
miu_crescent
PRO
0
100
Winning at PHP in Production in 2025
beberlei
1
230
watsonx.data上のベクトル・データベース Milvusを見てみよう/20250418-milvus-dojo
mayumihirano
0
180
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
1
570
Linuxのパッケージ管理とアップデート基礎知識
go_nishimoto
0
690
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Reviewing Like a Champion
maltzj
523
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Side Projects
sachag
453
42k
For a Future-Friendly Web
brad_frost
177
9.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Automating Front-end Workflow
addyosmani
1370
200k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
The Cult of Friendly URLs
andyhume
78
6.3k
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