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
870
ローカル開発環境にDockerを導入した話
合同勉強会 in 大都会岡山 - 2017 Winter -での発表資料
Makoto Henmi
December 23, 2017
Tweet
Share
More Decks by Makoto Henmi
See All by Makoto Henmi
ちいさくはじめるBacklog【令和最新版】
makowis
0
130
ちいさくはじめるBacklog
makowis
2
240
Firebase Hostingにシングルページアプリケーションをデプロイしてみよう #gbdaitokai
makowis
1
740
ノベルティのパッケージング
makowis
1
330
スパロボ遍歴
makowis
1
92
昔懐かしいインターネットの風物詩を最近の技術で作る話
makowis
1
3.9k
5分でわかるホワイトボードチャレンジ
makowis
1
650
ぼくらのかんがえたさいきょうのリモート雑談環境 #oso2018
makowis
0
1.8k
朝会をやめた話
makowis
0
5.6k
Other Decks in Programming
See All in Programming
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
GoとPHPのインターフェイスの違い
shimabox
2
190
『品質』という言葉が嫌いな理由
korimu
0
160
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
260
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
320
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
490
sappoRo.R #12 初心者セッション
kosugitti
0
250
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
Software Architecture
hschwentner
6
2.1k
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
840
Featured
See All Featured
Statistics for Hackers
jakevdp
797
220k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Writing Fast Ruby
sferik
628
61k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
4 Signs Your Business is Dying
shpigford
182
22k
Facilitating Awesome Meetings
lara
52
6.2k
For a Future-Friendly Web
brad_frost
176
9.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
Embracing the Ebb and Flow
colly
84
4.6k
Typedesign – Prime Four
hannesfritz
40
2.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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ͷ༰ྔ͕ඞཁ
͓ΘΓ