Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Dockerで開発環境構築ひとりでできるもん!
kenken
July 31, 2020
Technology
0
10
Dockerで開発環境構築ひとりでできるもん!
・Dockerとは?の基礎部分を学習した
・DockerでHellow worldしてみた
・Railsの開発環境を構築してみた
kenken
July 31, 2020
Tweet
Share
More Decks by kenken
See All by kenken
houraisyuto
0
420
houraisyuto
0
100
Other Decks in Technology
See All in Technology
larchanjo
0
120
prog893
0
160
shwars
0
110
daisukehirama41
1
360
finengine
0
380
caori_t
0
200
kota2and3kan
2
400
sat
8
7.5k
udzura
0
180
taijihagino
0
110
kawaguti
2
410
finengine
0
360
Featured
See All Featured
afnizarnur
178
14k
destraynor
146
19k
imathis
479
150k
jakevdp
776
200k
lauravandoore
440
29k
myddelton
109
11k
matthewcrist
73
7.5k
jensimmons
208
10k
dougneiner
56
5.4k
shpigford
166
19k
marktimemedia
7
460
kneath
220
15k
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ܥͰߏங͠·ͨ͠ɻɻɻ ɹ٧·ͬͨͱ͜Ζ
·ͱΊ
• ίϚϯυͷཧղ͕ਂ·ͬͨ • ؆୯ͳ։ൃڥͰ͋ΕߏஙͰ͖ΔΑ͏ͳͬͨ ˠͻͱΓͰͰ͖ΔΜʂ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂʂ