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
98
昔懐かしいインターネットの風物詩を最近の技術で作る話
makowis
1
4k
5分でわかるホワイトボードチャレンジ
makowis
1
810
ぼくらのかんがえたさいきょうのリモート雑談環境 #oso2018
makowis
0
1.9k
朝会をやめた話
makowis
0
5.7k
Other Decks in Programming
See All in Programming
チームの境界をブチ抜いていけ
tokai235
0
210
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
Go言語はstack overflowの夢を見るか?
logica0419
0
510
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
320
Cursorハンズオン実践!
eltociear
2
1.2k
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
280
ALL CODE BASE ARE BELONG TO STUDY
uzulla
26
6.6k
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
110
理論と実務のギャップを超える
eycjur
0
170
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
120
CSC509 Lecture 08
javiergs
PRO
0
230
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
320
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Why Our Code Smells
bkeepers
PRO
340
57k
Unsuck your backbone
ammeep
671
58k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Bash Introduction
62gerente
615
210k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Being A Developer After 40
akosma
91
590k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Navigating Team Friction
lara
190
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
610
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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ͷ༰ྔ͕ඞཁ
͓ΘΓ