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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Masanari Kondo
April 15, 2021
280
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dockerの基本
Masanari Kondo
April 15, 2021
More Decks by Masanari Kondo
See All by Masanari Kondo
スライド作成アンチパターン
mkmknd
0
930
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
180
Typedesign – Prime Four
hannesfritz
42
3.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Speed Design
sergeychernyshev
33
1.8k
Code Review Best Practice
trishagee
74
20k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Docker and Python
trallard
47
3.9k
Writing Fast Ruby
sferik
630
63k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
160
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Believing is Seeing
oripsolob
1
140
Transcript
Dockerͷجຊ ϋϯζΦϯܗࣜͰֶΜͰΈΑ͏ ۙ౻ POSL@Kyushu University
POSL@Kyushu University ͦͦDockerͬͯԿʁ 2
ίϯςφٕज़Λ͍͍͢ܗͰ·ͱΊͨ ιϑτΣΞ 3 ˔ %PDLFS㱠ίϯςφٕज़ ˔ ίϯςφٕज़ιϑτΣΞΛ։ൃɼɼσϓϩΠ͕ Ͱ͖Δඪ४Խ͞ΕͨܗͰύοέʔδԽ͢Δ͜ͱ<>ʢۙ౻ ༁ʣ POSL@Kyushu
University: <>IUUQTXXXEPDLFSDPNSFTPVSDFTXIBU DPOUBJOFSdUFYU"DPOUBJOFSJTBTUBOEBSE POFDPNQVUJOHFOWJSPONFOUUPBOPUIFSUFYU"WBJMB CMFGPSCPUI-JOVYBOE TBNF$SFHBSEMFTTPGUIFJOGSBTUSVDUVSF 04 ґଘύοέʔδ ґଘύοέʔδ/ ͋ΔιϑτΣΞ ɾɾɾ
Docker͕ͳͥඞཁʁ 4 POSL@Kyushu University: ։ൃऀ" "ͷ࣮ߦڥ ։ൃ͍ͯ͠Δ ιϑτΣΞ ຊ൪ڥ
Docker͕ͳͥඞཁʁ 5 POSL@Kyushu University: ։ൃऀ" "ͷ࣮ߦڥ ։ൃ͍ͯ͠Δ ιϑτΣΞ ຊ൪ڥ ։ൃ͍ͯ͠Δ
ιϑτΣΞ ಈ͔ͳ͍ͧ
Docker͕ͳͥඞཁʁ 6 POSL@Kyushu University: ։ൃऀ" "ͷ࣮ߦڥ ։ൃ͍ͯ͠Δ ιϑτΣΞ ຊ൪ڥ ։ൃ͍ͯ͠Δ
ιϑτΣΞ ಈ͔ͳ͍ͧ ˔ "ͷ࣮ߦڥͱຊ൪ڥͷҧ ͍ʁ ˔ "ͷ࣮ߦڥͷৄࡉͲ͏ ͬͯݟΕʁ ˔ ύοέʔδͷόʔδϣϯʁ
Docker͕ͳͥඞཁʁ 7 POSL@Kyushu University: ։ൃऀ" "ͷ࣮ߦڥ ։ൃ͍ͯ͠Δ ιϑτΣΞ ຊ൪ڥ ։ൃ͍ͯ͠Δ
ιϑτΣΞ %PDLFSͰύοέʔδԽ ˔ %PDLFS͕ಈ͘ͷͰ͋Ε࣮ߦՄೳ ˔ ޙड़͢Δ%PDLFS fi MFEPDLFSDPNQPTFΛ͑ڥΛه ड़Ͱ͖Δ *OGSBTUSVDUVSFBT$PEF *B$
ݚڀऀʹ͋Γ͕ͪͳύλʔϯ 8 ˔ ͦͷ࣌ʑͷ༻ऀ͕ࣗ༝ؾ··ʹΠϯετʔϧ༷ͨ͠ʑͳύοέʔδɽԿ͕ ೖ͍ͬͯΔͷ͔Α͘Θ͔Βͳ͍ɽ ˔ ͱΓ͋͑ͣͳΜͱͳ͘ಈ͔͘Βͦͷ··์ஔ͍ͯ͠Δɽ࣌ʑಈ͔ͳ͘ͳͬ ͯɼͦͷ࣌ͷ༗ࣝऀ͕ͨΓతͳॲஔΛ͢ΔɽҰےೄͰ࣏Βͳ͍ͷͰɼ ͠ํ୭ॻ͍͓͔ͯͳ͍ʢຖճ͕࣌ؒେྔʹऔΒΕΔʣ ˔
αʔόΛΈΜͳͬͯΔ͔ΒαʔόͰ࣮ߦ͠Α͏ͱࢥͬͨΒɼಈ͘ڥΛ ͑ΒΕͳ͍ɽ ˔ ڥΛഁյ͢Δ͜ͱ͕ාͯ͘04ͷΞοϓσʔτͱ͔Ͱ͖ͳ͍ɽ POSL@Kyushu University: ݹͷҨ࢈αʔό ݹͷҨ࢈αʔό ݹͷҨ࢈αʔό/ ɾɾɾ
POSL@Kyushu University DockerΛ͑ΔΑ͏ʹͳΕ ͜Μͳͱ͓͞Β 9
DockerΛͬͨ1ͭͷղܾࡦ 10 ˔ ֤αʔόඞཁ࠷খݶͷߏͱ͢Δʢྫ͑ɼ࣮ݧͷͨΊ ʹ5FOTPS fl PXΛೖΕΑ͏ͱ͠ͳ͍ʣɽ ˔ ࣮ݧʹඞཁͳڥ%PDLFSΛͬͯด͡ࠐΊΔɽίϯςφ Λੜ࣮ͯ͠ߦ͢Ε࣮ݧ݁Ռ͕ಘΒΕΔͱ͜Ζ·Ͱམͱ
͠ࠐΉɽ ˔ େউར POSL@Kyushu University: αʔό αʔό αʔό/ ɾɾɾ
POSL@Kyushu University εςοϓ1 ίϯςφΛ࡞ͬͯΈΑ͏ 11
PythonΛ࣮ߦͰ͖Δίϯςφͷੜͱ࣮ߦ 12 ˔ EPDLFSQVMMQZUIPOTMJNCVTUFS ˔ ্Ͱ1ZUIPOͷΠϝʔδΛμϯϩʔυ ˔ EPDLFSJNBHFMT ˔ ্ͰϩʔΧϧʹ͋ΔΠϝʔδͷҰཡΛ֬ೝ
˔ EPDLFSDPOUBJOFSSVOQZUIPOTMJNCVTUFS QZUIPODlQSJOU bUFTU` z ˔ ্Λ࣮ߦ͢ΔͱɼUFTUͱ͍͏จࣈྻ͕ग़ྗ͞ΕΔɽ͜ͷ UFTUͱ͍͏จࣈྻ1ZUIPOʹΑΓ࣮ߦ͞Ε͍ͯΔ͕ɼ͜ Ε͕%PDLFSͷίϯςφͱͯ͠࡞͞Ε࣮ߦ͞Εͨɽ POSL@Kyushu University:
ੜͨ͠ίϯςφͷ֬ೝͱআ 13 ˔ EPDLFSDPOUBJOFSMTB ˔ ্Ͱɼࠓ·Ͱʹੜͨ͠ίϯςφͷҰཡΛ֬ೝͰ͖Δ ˔ EPDLFSDPOUBJOFSSN\\ZPVSDPOUBJOFS*%^^ ˔ ίϯςφଘࡏ͢Δ͚ͩͰ༰ྔΛ৯͏ͷͰɼ্ͷίϚϯ
υͰআ͓ͯ͘͠ɽ\\ZPVSDPOUBJOFS*%^^ͷ෦্ͷMT Ͱग़ྗ͞ΕͨͷΛར༻͢Δɽ ˔ ͪͳΈʹɼ࣮ߦͨ͠ޙʹίϯςφΛࣗಈͰআ͢Δ͜ͱ Ͱ͖Δɽྫ͑ҎԼɽSN͕ೖ͍ͬͯΔ ˔ EPDLFSDPOUBJOFSSVOSNQZUIPOTMJNCVTUFS QZUIPODlQSJOU bUFTU` z POSL@Kyushu University:
POSL@Kyushu University ͏ΜɽΑ͘Θ͔ΒΜɽ 14
ਤղͯ͠Έͨ 15 POSL@Kyushu University: 1ZUIPOͷ ίʔυΛ࣮ߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ
ਤղͯ͠Έͨ 16 POSL@Kyushu University: 1ZUIPOͷ ίʔυΛ࣮ߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ
1ZUIPOͷ ίʔυΛ࣮ߦ͢Δ ίϯςφΛੜ͠ ࣮ͯߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ %PDLFSͷ ίϯςφ
ਤղͯ͠Έͨ 17 POSL@Kyushu University: 1ZUIPOͷ ίʔυΛ࣮ߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ
1ZUIPOͷ ίʔυΛ࣮ߦ͢Δ ίϯςφΛੜ͠ ࣮ͯߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ %PDLFSͷ ίϯςφ ͜͜Λίϯςφͷதʹ ด͡ࠐΊΔ ͜ͱ͕Ͱ͖Δ
ίϯςφͷதʹೖͬͯΈΔ 18 ˔ EPDLFSDPOUBJOFSSVOJUSNQZUIPOTMJN CVTUFSCBTI ˔ ্Λ࣮ߦ͢ΔͱɼQZUIPOTMJNCVTUFSͱ͍͏Πϝʔδ ͕ੜ͢ΔίϯςφͰCBTIΛىಈͯ͠ɼͦͷΛಘ͍ͯ Δɽ͜͜Ͱ௨ৗͷͱಉ༷ʹ৭ʑͳૢ࡞͕ߦ͑Δɽ ʢCBTFJNBHFEFCJBOͳͷͰɼૢ࡞ͦΕʹ४ڌ͢Δʣɽ
FYJUͰΛमྃͰ͖Δɽ ˔ ઌఔͷίϚϯυͭ·Γɼ͜ͷ্ͰQZUIPOD lQSJOU bUFTU` zΛ࣮ߦͨ͠ͷͱಉ͡Ͱ͋Δɽ ˔ Γ͍ͨ͜ͱͱͯ͠ɼ͜ͷ্ͰڥΛߏஙͯ͠͠· ͍ɼ࣮ݧεΫϦϓτͷ࣮ߦ·Ͱߦͬͯ͠·͍͍ͨɽ POSL@Kyushu University:
ίϯςφͷதͰܭࢉΛͯ͠ΈΔ 19 ˔ EPDLFSDPOUBJOFSSVOJUSNQZUIPOTMJN CVTUFSCBTI ˔ QJQJOTUBMMOVNQZ ˔ QZUIPO ˔
JNQPSUOVNQZBTOQ ˔ OQQFSDFOUJMF < > POSL@Kyushu University:
ਤղͯ͠Έͨ 20 POSL@Kyushu University: զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ %PDLFSͷ ίϯςφ
͜͜Λίϯςφͷதʹ ด͡ࠐΊΔ ͜ͱ͕Ͱ͖Δ ͕͜͜ผͷ1$ͷΑ͏ͳΠϝʔδ ͪ͜Βͷڥʹґଘ͠ͳ͍
POSL@Kyushu University εςοϓ2 Docker fi leΛॻ͍ͯΈΑ͏ 21
DockerͷίϯςφͷதͰͷ࡞ۀʹऑ͕͋Δ 22 ˔ ίϯςφجຊతʹ͍ࣺͯʹ͢ΔͷɽͳͷͰɼͦ ͷதʹຖճೖͬͯखಈͰڥߏஙΛ͢Δͷίετ͕ߴ ͍ɽ ˔ खಈͰͷ࡞ۀϛεΛ༠ൃ͢ΔՄೳੑ͋Δ ˔ %PDLFSͰ%PDLFS
fi MFΛ͏͜ͱͰ͜ͷΛղܾ͢ Δ͜ͱ͕Ͱ͖Δ POSL@Kyushu University:
ઌఔͷܭࢉΛDocker fi leͰද͢ͱҎԼʹͳΔ 23 POSL@Kyushu University: %PDLFS fi MF '30.QZUIPOTMJNCVTUFS
803,%*3IPNF 36/QJQJOTUBMMOVNQZa FDIPJNQPSUOVNQZBTOQUFTUQZa FDIPQSJOU OQQFSDFOUJMF < > UFTUQZ &/53:10*/5<VTSMPDBMCJOQZUIPO> $.%<UFTUQZ>
ઌఔͷܭࢉΛDocker fi leͰද͢ͱҎԼʹͳΔ 24 POSL@Kyushu University: %PDLFS fi MF '30.QZUIPOTMJNCVTUFS
803,%*3IPNF 36/QJQJOTUBMMOVNQZa FDIPJNQPSUOVNQZBTOQUFTUQZa FDIPQSJOU OQQFSDFOUJMF < > UFTUQZ &/53:10*/5<VTSMPDBMCJOQZUIPO> $.%<UFTUQZ> ϕʔεΠϝʔδΛࢦఆ Ҏ߱ͷίϚϯυ͕࣮ߦ͞ΕΔσΟϨΫτϦࢦఆ ҙͷίϚϯυΛ࣮ߦ ίϯςφͷ࣮ߦΛݶఆ͢Δ &/53:10*/5ͷΦϓγϣϯɾ࣮ߦ͢ΔίϚϯυ
Docker fi leͷ࣮ߦํ๏ 25 ˔ %PDLFS fi MFϏϧυͯ͠ΠϝʔδΛ࡞͠ɼΠϝʔδΛͱʹί ϯςφΛੜ࣮ͯ͠ߦ͠ͳ͚ΕͳΒͳ͍ɽ ˔
EPDLFSCVJMEUBHUFTUQZUIPO ˔ ·্ͣͷίϚϯυΛ%PDLFS fi MF͕͋ΔσΟϨΫτϦͰ࣮ߦ͠ ͯϏϧυ͢ΔɽUBHΦϓγϣϯɼΠϝʔδͷ໊લʹͳΔɽͷ લ͕ϦϙδτϦ໊ɼޙ͕λάʹͳΔɽ ˔ EPDLFSJNBHFMTB ˔ ্ͰΠϝʔδͷҰཡΛ֬ೝͰ͖Δ ˔ EPDLFSDPOUBJOFSSVOSNUFTUQZUIPO ˔ ͋ͱࠓ·Ͱͱಉ༷ʹ࣮ߦ͢Δɽͨͩ͠ɼ࡞ͨ͠ΠϝʔδΛ ࣮ߦରͱ͢Δɽ POSL@Kyushu University:
POSL@Kyushu University εςοϓ3 σʔλͷӬଓԽʢͪΐͬͱDocker Composeʣ 26
Docker෦Ͱੜ͞Εͨσʔλอଘ͞Εͳ͍ 27 ˔ %PDLFS෦Ͱੜ͞Εͨσʔλอଘ͞Εͳ͍ʢେࣄͳ ͜ͱ͔ͩΒճݴ͍·ͨ͠ʣɽ ˔ %PDLFSͷίϯςφ͍ࣺͯͳͷͰɼӬଓతʹσʔλΛ อଘ͢Δ͜ͱσϑΥϧτͰ͠ͳ͍ɽ ˔ σʔλΛอଘ͢ΔͨΊʹɼϗετͷϘϦϡʔϜΛϚ
ϯτ͢Δ͔ɼϗετʹσʔλอଘ༻ͷྖҬΛ֬อ͢Δ ͔ɽ ˔ ݸਓతʹݚڀͰ͏ʹϗετͷϘϦϡʔϜΛϚ ϯτ͢Δͷ͕Γ͍͢ؾ͕͢Δɽ POSL@Kyushu University:
DockerͰϑΝΠϧ͕ফ͑Δ͜ͱΛ֬ೝ 28 ˔ EPDLFSDPOUBJOFSSVOJUSNQZUIPOTMJN CVTUFSCBTI DEIPNF FDIPUFTUaOUFTUUYU
MT ˔ ͜ΕͰɼUFYUUYU͕࡞͞Εͨ ˔ FYJU ˔ ্Ͱൈ͚Δͱɼ࡞ͨ͠UFTUUYUͲ͜ʹͳ͍ɽ POSL@Kyushu University:
BindΛͬͯϗετͷϘϦϡʔϜΛϚϯτ 29 ˔ EPDLFSDPOUBJOFSSVOJUSNNPVOU UZQFCJOE TPVSDF6TFSTNLPOEP UFTU UBSHFUIPNFQZUIPOTMJNCVTUFSCBTI DEIPNF
FDIPUFTUaOUFTUUYU MT ˔ ্ͷ࣮ߦͷࡍɼNPVOUͷTPVSDFͰࢦఆ͢ΔσΟϨΫ τϦΛࣗͷڥʹ߹Θͤͯมߋ͢Δɽ ˔ ͜ΕͰɼUFYUUYU͕࡞͞Ε͕ͨɼFYJUͰൈ͚ͯɼ TPVSDFͰࢦఆͨ͠σΟϨΫτϦͰUFTUUYUΛ֬ೝͰ͖Δɽ POSL@Kyushu University:
Docker ComposeΛͬͯDocker fi leͱΈ߹ΘͤΔ 30 POSL@Kyushu University: EPDLFSDPNQPTFZNM WFSTJPO TFSWJDFT
QZUIPOUFTU CVJME DPOUFYU EPDLFS fi MF%PDLFS fi MF WPMVNFT IPNF %PDLFS fi MF '30.QZUIPOTMJNCVTUFS 803,%*3IPNF 36/QJQJOTUBMMOVNQZ &/53:10*/5<VTSMPDBMCJOQZUIPO> $.%<UFTUQZ> UFTUQZ JNQPSUOVNQZBTOQ QSJOU OQQFSDFOUJMF < > ˔ ͜Μͳײ͡ͰͭϑΝΠϧΛಉ͡σΟϨΫτϦ ʹ༻ҙͯ͠ ˔ EPDLFSDPNQPTFCVJME EPDLFSDPNQPTFVQ ˔ ͜ΕͰ࣮ߦͰ͖Δ
ߟ͑ΒΕΔϢʔεέʔε 31 ˔ EPDLFSDPOUBJOFSSVOJUSNNPVOU UZQFCJOE TPVSDF\\εΫϦϓτͷ֨ೲॴ^^ UBSHFU IPNF\\ҙͷΠϝʔδ^^CBTI ˔ ্ͰΛ্ཱͪ͛ͯɼͦ͜ͰڥΛߏஙͨ͠ΓɼεΫ
ϦϓτΛվྑͨ͠Γʢ͜ΕϩʔΧϧͰΔʣ࣮ͯ͠ݧ εΫϦϓτΛ࡞͍ͬͯ͘ɽڥߏங࣌ʹͦͷ༰ %PDLFS fi MFͱͯ͠ॻ͖ࠐΜͰ͍͘ ˔ ςετͳͲऴΘͬͨΒɼ%PDLFS fi MFΛͤͯ͞ɼ EPDLFSDPNQPTFZNMΛॻ͖ɼ࣮ݧ༻ͷܭࢉػૹΔɽ ˔ ࣮ߦɽ POSL@Kyushu University:
pipenvͱΈ߹Θͤͨํ๏ 32 ˔ QJQFOWͰڥΛߏங࣮ͯ͠ݧεΫϦϓτΛ࡞Δ ˔ 1JQ fi MFͱ1JQ fi MFMPDLΛ͏ͱڥΛ࠶ݱͰ͖ΔͷͰɼ͜
ΕΛ%PDLFS fi MFͰ࠶ݱͰ͖ΔΑ͏ʹͯ͠Δ ˔ ςετͳͲऴΘͬͨΒɼ%PDLFS fi MFΛͤͯ͞ɼ EPDLFSDPNQPTFZNMΛॻ͖ɼ࣮ݧ༻ͷܭࢉػૹΔɽ ˔ ࣮ߦɽ POSL@Kyushu University:
POSL@Kyushu University εςοϓ4 Docker ComposeΛͬͯΈΑ͏ 33
POSL@Kyushu University WIP 34
POSL@Kyushu University εςοϓ5 ݖݶͷΛղܾ͢Δ 35
POSL@Kyushu University WIP 36