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
kenken
July 31, 2020
Technology
74
0
Share
Dockerで開発環境構築ひとりでできるもん!
・Dockerとは?の基礎部分を学習した
・DockerでHellow worldしてみた
・Railsの開発環境を構築してみた
kenken
July 31, 2020
More Decks by kenken
See All by kenken
ぼくたちリモワ3ねんせい 〜業務を円滑に進めるために大事にしてるメンタルモデル〜
houraisyuto
0
210
M5Stackで遊んでみた
houraisyuto
0
980
ヒラマサの活動について
houraisyuto
0
350
Other Decks in Technology
See All in Technology
Personal knowledge bases using LLM
lycorptech_jp
PRO
0
130
AWSアップデートから考える継続的な運用改善
toru_kubota
2
330
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
2.5k
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
2
2.2k
Claude Code x Accounting
kawaguti
PRO
0
210
"スキルファースト"で作る、AIの自走環境
subroh0508
1
660
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
1.1k
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
210
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
1
180
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
190
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
0
100
データ分析基盤の信頼を支える視点と設計
yuki_saito
1
390
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Code Reviewing Like a Champion
maltzj
528
40k
KATA
mclloyd
PRO
35
15k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
330
Writing Fast Ruby
sferik
630
63k
How to train your dragon (web standard)
notwaldorf
97
6.6k
HDC tutorial
michielstock
2
670
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
RailsConf 2023
tenderlove
30
1.4k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Transcript
DockerͰ։ൃڥߏஙͻͱΓͰͰ͖ΔΜʂ ~ηϒϯͷόφφͷΞΠεʹϋϚͬͯ·͢~ GMOϖύϘ גࣜձࣾ ͚Μ͚Μ
ࣗݾհ
ሟိलేʢ΄͏Β͍͠Ύ͏ͱʣ ͚Μ͚Μ @kenken_monasyu ɾ1993/10/27 ੜ·Ε(26ࡀ) ɾGMOϖύϘ גࣜձࣾɹ ɾिͨ·ʹՈ ࠷ۙͷ·Γ͝ͱ ɾϓϩͱϋΠΩϡʔ
ɹฐࣾͷ։ൃڥʹDockerΛ༻͞Ε͍ͯΔ • ͋·ΓཧղͤͣʹίϚϯυΆͪΆͪͯͨ͠ • ։ൃڥͰτϥϒͬͨͱ͖ʹࢥߟఀࢭͯͨ͠
ɹͦΜͳਓੜ͍ͩʙʂʂʂ
ɹDockerͷֶशత • ͳʹ͛ͳ࣮͘ߦ͍ͯͨ͠ίϚϯυͷཧղΛਂΊΔ • DockerΛ༻ͨ͠։ൃڥʹ͍ͭͯཧղΛਂΊΔ
ɹͬͨ͜ͱ • Dockerͱʁͷجૅ෦Λֶशͨ͠ • DockerͰHellow worldͯ͠Έͨ • Railsͷ։ൃڥΛߏஙͯ͠Έͨ
Docker
Dockerͱʁ
ɹDockerͷಛ ɾίϯςφٕज़Λ͔͍ͭͬͯΔ ɾܰྔͰߴʹಈ࡞ ɾڥͷ͕ࠩੜ·Εͳ͍ͨΊɺ։ൃ ڥͱͯ͠ར༻͞Ε͍ͯΔ ɾGoݴޠͰॻ͔Ε͍ͯΔ
ɹΑ͘Ͱͯ͘Δϫʔυ ɾίϯςφ ɾΠϝʔδ
ɹίϯςφ ࢀরɿʮϓϩάϥϚͷͨΊͷDockerڭՊॻ ୈ2൛ Πϯϑϥͷجૅࣝ&ίʔυʹΑΔڥߏஙͷࣗಈԽʯΑΓ
ɹΠϝʔδ ࢀরɿʮϓϩάϥϚͷͨΊͷDockerڭՊॻ ୈ2൛ Πϯϑϥͷجૅࣝ&ίʔυʹΑΔڥߏஙͷࣗಈԽʯΑΓ
ɹ͜͏͍͏ײ͡ ࢀরɿʮϓϩάϥϚͷͨΊͷDockerڭՊॻ ୈ2൛ Πϯϑϥͷجૅࣝ&ίʔυʹΑΔڥߏஙͷࣗಈԽʯΑΓ
ɹDockerͷػೳ ɾDockerΠϝʔδΛ࡞ΔػೳʢBuildʣ ɾDockerΠϝʔδΛڞ༗͢Δػೳ(Ship) ɾDockerίϯςφΛಈ͔͢ػೳ(Run)
ɹDockerΠϝʔδΛ࡞ΔػೳʢBuildʣ ࢀরɿʮϓϩάϥϚͷͨΊͷDockerڭՊॻ ୈ2൛ Πϯϑϥͷجૅࣝ&ίʔυʹΑΔڥߏஙͷࣗಈԽʯΑΓ
ɹDockerΠϝʔδΛڞ༗͢Δػೳ(Ship) https://hub.docker.com/ ɹhttps://hub.docker.com/
ɹDockerίϯςφΛಈ͔͢ػೳ(Run) ɾίϯςφىಈ ɾίϯςφఀࢭ ɾίϯςφഁغ
Helloworldͯ͠ΈΔΑ
DockerΠϯετʔϧ IUUQTEPDTEPDLFSDPNHFUEPDLFS
hello-worldίϯςφͷ࣮ߦͱಈ࡞
ɹDockerͷίϯϙʔωϯτ ࢀরɿʮϓϩάϥϚͷͨΊͷDockerڭՊॻ ୈ2൛ Πϯϑϥͷجૅࣝ&ίʔυʹΑΔڥߏஙͷࣗಈԽʯΑΓ
Rails ͷ։ൃڥΛߏஙͯ͠ΈΔΑ
ɾDockerComposeɺDockerforMac·ͨ DockerforWindowsʹ͋Β͔͡ΊΠϯετʔϧ͞Ε͍ͯ·͢ ɾdockercomposeίϚϯυͰɺdockercompose.ymlΛͱ ʹɺෳίϯςφͷੜʗىಈͰ͖Δ ɹDockerComposeʢෳίϯςφҰݩཧʣ
Railsɿ5.2.4 Postgresqlɿ0.20.0 ɹRailsͷ։ൃڥ
ɾDockerfileΛ࡞͢Δ ɾGemfileɺGemfile.lockΛ࡞͢Δ ɾdocker-compose.ymlΛ࡞͢Δ ɾdocker-composeίϚϯυΛ࣮ߦ͢Δ ɹRailsͷ։ൃڥΛߏங͢ΔྲྀΕ
ɹDockerfileΛ࡞͢Δ
ɹGemfileɺGemfile.lockΛ࡞͢Δ
ɹdocker-compose.ymlΛ࡞͢Δ
ɹrails newΛ࣮ߦ͢Δ
ɹpgͷόʔδϣϯΛௐ͢Δ
ɹdocker-compose upΛ࣮ߦ͢Δ
ɹDBΛ࡞͢Δ
ɹRails্ཱ͕͕ͪͬͨʂʂ̍
ɾΠϝʔδͷΰϛ͕ͪΌΜͱফͤͳͯ͘DB͕࡞Ͱ͖ͳ͘ ͳͬͨ →docker-compose down Ͱਖ਼͘͠আ͖ͩͬͨ͢ ʢdocker-compose stop͚ͩͯ͠Ε͍͍ͱࢥ͍ͬͯͨʣ ɾRails6ͩͱwebpacker͕ࡌ͞ΕɺyarnͷΠϯετʔ ϧ͕ඞཁʹͳͬͨͷ͕ͩɺDockerfileʹهࡌͯ͠͏·͘ ಈ͍ͯ͘Εͳͯ͘ɺRails6ͷڥͰߏஙͰ͖ͳ͔ͬͨɻ
ࠓճRails5ܥͰߏங͠·ͨ͠ɻɻɻ ɹ٧·ͬͨͱ͜Ζ
·ͱΊ
• ίϚϯυͷཧղ͕ਂ·ͬͨ • ؆୯ͳ։ൃڥͰ͋ΕߏஙͰ͖ΔΑ͏ͳͬͨ ˠͻͱΓͰͰ͖ΔΜʂ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ