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を導入した話
Search
Makoto Henmi
December 23, 2017
Programming
1
940
ローカル開発環境にDockerを導入した話
合同勉強会 in 大都会岡山 - 2017 Winter -での発表資料
Makoto Henmi
December 23, 2017
Tweet
Share
More Decks by Makoto Henmi
See All by Makoto Henmi
ちいさくはじめるBacklog【令和最新版】
makowis
0
180
ちいさくはじめるBacklog
makowis
2
250
Firebase Hostingにシングルページアプリケーションをデプロイしてみよう #gbdaitokai
makowis
1
800
ノベルティのパッケージング
makowis
1
370
スパロボ遍歴
makowis
1
97
昔懐かしいインターネットの風物詩を最近の技術で作る話
makowis
1
4k
5分でわかるホワイトボードチャレンジ
makowis
1
800
ぼくらのかんがえたさいきょうのリモート雑談環境 #oso2018
makowis
0
1.8k
朝会をやめた話
makowis
0
5.7k
Other Decks in Programming
See All in Programming
Catch Up: Go Style Guide Update
andpad
0
200
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
240
明日から始めるリファクタリング
ryounasso
0
120
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
940
CSC305 Lecture 06
javiergs
PRO
0
210
CSC509 Lecture 01
javiergs
PRO
1
440
株式会社 Sun terras カンパニーデック
sunterras
0
250
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.1k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
410
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
4.6k
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
100
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
How GitHub (no longer) Works
holman
315
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Navigating Team Friction
lara
189
15k
Building Adaptive Systems
keathley
43
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
Gamification - CAS2011
davidbonilla
81
5.5k
Music & Morning Musume
bryan
46
6.8k
Transcript
ϩʔΧϧ։ൃڥʹ DockerΛಋೖͨ͠ ߹ಉษڧձ in େձԬࢁ -2017 Winter- ҳݟ(@mako_wis)
ࣗݾհ w ҳݟ ΜΈ·͜ͱ w 5XJUUFS!NBLP@XJT 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ͰίϯςφΛཧ • ସ͑αʔϏε͕ແ͍ͷผ్ରࡦߟ͑Δ
ϝΠϯΞϓϦ όον S3 MySQL SQSɾSNS SQSɾSNSॳظԽ
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Λར༻ͤͣͦͷ··ىಈ͢Δ༧ఆͰ͕ͨ͠ɾɾɾ • όονଆ͔ΒϝΠϯΞϓϦͷAPIΛୟ͘ඞཁ͕͋Γ • Dockerଆ͔ΒϗετOSͷΞυϨεΛऔಘ͢Δํ๏͕OSຖʹ·ͪ· ͪ
• ϝϯόʔͷOSWindowsɺMacOSࠞࡏ • ϦϙδτϦϧʔτʹDockerϑΝΠϧΛஔ͍ͯΠϝʔδϏϧυ
Docker-compose up Ͱ։ൃڥ্ཱ͕͕ͪΔ
·ͱΊ • docker-compose upͰඞཁͳ։ൃڥ্ཱ͕͕ͪΔͷศར • ֤ࣗͦΕͧΕͰઃఆ͢Δख͕ؒল͚ͨ • Railsͷ֤छίϚϯυΛ࣮ߦ͢Δͷ͕໘ • ͍͍ͪͪdocker-compose
run ~Λ࣮ߦ͢Δͷ͕ΊΜͲ͍͘͞ • γΣϧεΫϦϓτΛ४උͯ͠লྗԽ • DockerΠϝʔδS3ϩʔΧϧԽͰPCͷ༰ྔ͕ඞཁ
͓ΘΓ