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
Railsの開発環境にDockerを導入した話
Search
Makoto Henmi
January 27, 2018
Technology
1.1k
2
Share
Railsの開発環境にDockerを導入した話
第21回 岡山Ruby, Ruby on Rails勉強会で話をしたRailsの開発環境にDockerを導入した話の資料です。
Makoto Henmi
January 27, 2018
More Decks by Makoto Henmi
See All by Makoto Henmi
ちいさくはじめるBacklog【令和最新版】
makowis
0
230
ちいさくはじめるBacklog
makowis
2
270
Firebase Hostingにシングルページアプリケーションをデプロイしてみよう #gbdaitokai
makowis
1
840
ノベルティのパッケージング
makowis
1
400
スパロボ遍歴
makowis
1
120
昔懐かしいインターネットの風物詩を最近の技術で作る話
makowis
1
4.1k
5分でわかるホワイトボードチャレンジ
makowis
1
870
ぼくらのかんがえたさいきょうのリモート雑談環境 #oso2018
makowis
0
1.9k
朝会をやめた話
makowis
0
5.8k
Other Decks in Technology
See All in Technology
AI時代のガードレールとしてのAPIガバナンス
nagix
0
280
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
330
MLOps導入のための組織作りの第一歩
akasan
0
340
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
240
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
2
270
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
120
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
160
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
430
Revisiting [CLS] and Patch Token Interaction in Vision Transformers
yu4u
0
370
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
370
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
230
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
How GitHub (no longer) Works
holman
316
150k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
120
HDC tutorial
michielstock
2
630
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
Building a Scalable Design System with Sketch
lauravandoore
463
34k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Transcript
Rails։ൃڥʹ DockerΛಋೖͨ͠ ୈ21ճ ԬࢁRuby, Ruby on Railsษڧձ ҳݟ(@mako_wis)
ࣗݾհ w ҳݟ ΜΈ·͜ͱ w 5XJUUFS!NBLP@XJT w גࣜձࣾΫϨΦϑʔΨʢԻૉࡐൢചɺԻָί ϯςεταΠτӡӦʣ
w ϑϩϯταʔόʔαΠυγε w ࠓͷձ
None
αʔϏεΠϯ࣌ͷߏ EC2(App) EC2(Batch) RDS
S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS
S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS CloudSearch
S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS CloudSearch SQS
S3 ૿͑ΔawsαʔϏε EC2(App) EC2(Batch) RDS CloudSearch SQS SNS
͜͜Ͱͪΐͬͱ͕
ൃੜ͍ͯͨ͠ • ֤ࣗͦΕͧΕͰઃఆͯͨ͠ͷͰൿͷλϨԽ • S3Λ։ൃ༻ʹڞ௨ͷόέοτΛݟ͍ͯͨΓ͠ ͯσʔλͷॏෳ͕ൃੜ • Ϛγϯങ͍ସ͑ͱ͔ͰڥߏஙΓ͠ͷ ߹ʹ͕͔͔࣌ؒΔ
ڥߏங͕ϘτϧωοΫʹ
ڥߏஙΛ؆୯ʹͯ͠ޮUP
ରॲํ๏ • ϩʔΧϧʹAWSସαʔϏεΛར༻ͯ͠ຊ൪ ͱಉͷڥΛߏங • ։ൃऀຖʹຊ൪ͱಉͷڥΛAWS্ʹߏங
ରॲํ๏ • ϩʔΧϧʹAWSସαʔϏεΛར༻ͯ͠ຊ൪ ͱಉͷڥΛߏங • ։ൃऀຖʹຊ൪ͱಉͷڥΛAWS্ʹߏங ࠓճͬͪ͜
DockerͰϩʔΧϧʹڥߏங
ࠓճͷํ • DockerΛར༻ͯ͠ϩʔΧϧʹ։ൃڥΛߏங • खܰʹڥΛ্ཱ͍ͪ͛ͨͷͰdocker- composeͰίϯςφΛཧ • ସ͑αʔϏε͕ແ͍ͷผ్ରࡦߟ͑Δ
RailsΞϓϦ Rubyόον S3 MySQL SQSɾSNS SQSɾSNSॳظԽ
RailsΞϓϦҎ֎ͷͱ͜Ζ
S3ͷஔ͖͑ • MinioΛ༻ • https://github.com/minio/minio • dockerΠϝʔδΛར༻ͯ͠ӬଓԽ͕༰қ • σΟϨΫτϦ=όέοτͱͯ͠Έͳͯ͘͠ΕΔ ͷͰόέοτ࡞ࡁͰͰ͖Δ
SQSɾSNSͷஔ͖͑ • Localstack • https://github.com/localstack/localstack • ֤छawsαʔϏεͷସ͑αʔϏεΛఏڙ • s3minioͷํ͕͍͍͢ͷͰࠓճະ༻ •
SNSSQSͷ྆ํରԠͯ͘͠Ε͍ͯΔ • Ωϡʔ࡞ผ్ઃఆόονΩοΫ༻ͷΠϝʔδΛ࡞ͯ͠ docker-compose up࣌ʹ࣮ߦ
RDSͷஔ͖͑ • ฐࣾMySQLͳͷͰMySQLͷdockerΠϝʔδΛ ༻ • ֤ࣗೖΕ͍ͯΔMySQLΛ༻͢Δख͋ͬͨ ͕ઃఆόʔδϣϯ͕όϥͭ͘Մೳੑ͋Δ ͷͰ౷Ұ
CloudSearchɾɾɾ • ϕʔλ൛͔ͩΒͳͷ͔ସ͑αʔϏε͕ΠϚΠν • ݩʑΫϥυαʔνͷઃఆ͕ͳ͔ͬͨΒDBͷ ݕࡧʹΓସ͑ΔϩδοΫ͕͋ͬͨͷͰͦΕΛ ར༻ • ʢͦͷ͏ͪElasticSearchʹΓ͑Δ͔͠Ε ͳ͍ͷͰҰ୴ஔ͍͓ͯ͘
όονΞϓϦͷରԠ • όονͷDockerΠϝʔδͷ࡞ • DockerԽʹ͏ίʔυमਖ਼ • SQSʹґଘͯ͠ΔͷͰSQSͷ४උྃΛͭίʔυΛՃ • ϝΠϯΞϓϦͱಉ࣌ʹىಈ͍ͨ͠ •
όονͷDockerϑΝΠϧΛϏϧυͯ͠ΠϝʔδΛ࡞͢ΔํࣜΛબ • ϦϙδτϦ͕ผͳͷͰgit submoduleΛར༻ͯ͠ϝΠϯΞϓϦͷϦϙ δτϦʹՃ
RailsΞϓϦͷͱ͜Ζ
΄ΜͱDockerͷ֎ʹ ग़͔ͨͬͨ͠ɾɾɾ
Docker͔Βग़ͤͳ͔ͬͨཧ༝ • Rubyόονଆ͔ΒRailsΞϓϦʹ௨৴ͷඞཁ͕͋Γ • Dockerίϯςφଆ͔ΒϗετOSͷIPΛऔಘ͢Δํ๏͕ ϗετOSଆͰ·ͪ·ͪ • MacͱLinuxҰॹͬΆ͍͚ͲWindows͕ɾɾɾ • ϗετOSଆͰRailsΛىಈ͢ΔͱRubyͷόονଆ͔Β
Rails௨৴Ͱ͖ͳ͍
Docker্Ͱಈ͔͠·͢
DockerͰಈ͔͢ • ެࣜʹRubyΠϝʔδ͕͋ΔͷͰͦΕΛ༻ • ϦϙδτϦϧʔτʹDockerϑΝΠϧΛஔ͍ͯΠϝʔ δϏϧυ • Πϝʔδ࡞࣌ʹbundle installΛߦ͏ •
ΞϓϦͷϧʔτΛίϯςφʹϚϯτͯ͠ίʔυม ߋ࣌ʹ͙͢ʹөͰ͖ΔΑ͏ʹ͢Δ
None
Docker-compose up Ͱ։ൃڥ্ཱ͕͕ͪΔ
DockerԽͰਏ͍ͱ͜Ζ • Gemfileͷมߋ࣌ʹDockerΠϝʔδͷϏϧυ͕ඞཁ • PCʹΑͬͯը໘ͷද͕ࣔҟৗʹ͍ • RailsίϚϯυ࣮ߦ͕DockerΛհ͢ͷͰͯ͘ਏ͍ • rakeίϚϯυͷ࣮ߦΛύΠϓͰड͚औΕͳ͍ͷͰਏ ͍
·ͱΊ • docker-compose upͰඞཁͳ։ൃڥ্ཱ͕͕ͪΔͷศར • ֤ࣗͦΕͧΕͰઃఆ͢Δख͕ؒল͚ͨ • Railsͷ֤छίϚϯυΛ࣮ߦ͢Δͷ͕໘ • ͍͍ͪͪdocker-compose
run ~Λ࣮ߦ͢Δͷ͕ΊΜͲ͍͘͞ • γΣϧεΫϦϓτΛ४උͯ͠লྗԽ • DockerΠϝʔδS3ϩʔΧϧԽͰPCͷ༰ྔ͕ඞཁ
͓ΘΓ