Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dockerの基本

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Masanari Kondo Masanari Kondo
April 15, 2021
270

 Dockerの基本

Avatar for Masanari Kondo

Masanari Kondo

April 15, 2021
Tweet

Transcript

  1. ίϯςφٕज़Λ࢖͍΍͍͢ܗͰ·ͱΊͨ ιϑτ΢ΣΞ 3 ˔ %PDLFS㱠ίϯςφٕज़ ˔ ίϯςφٕज़͸ιϑτ΢ΣΞΛ։ൃɼ഑෍ɼσϓϩΠ͕ Ͱ͖Δඪ४Խ͞ΕͨܗͰύοέʔδԽ͢Δ͜ͱ<>ʢۙ౻ ༁ʣ POSL@Kyushu

    University: <>IUUQTXXXEPDLFSDPNSFTPVSDFTXIBU DPOUBJOFSdUFYU"DPOUBJOFSJTBTUBOEBSE POFDPNQVUJOHFOWJSPONFOUUPBOPUIFSUFYU"WBJMB CMFGPSCPUI-JOVYBOE TBNF$SFHBSEMFTTPGUIFJOGSBTUSVDUVSF 04 ґଘύοέʔδ ґଘύοέʔδ/ ͋Διϑτ΢ΣΞ ɾɾɾ
  2. Docker͕ͳͥඞཁʁ 6 POSL@Kyushu University: ։ൃऀ" "ͷ࣮ߦ؀ڥ ։ൃ͍ͯ͠Δ ιϑτ΢ΣΞ ຊ൪؀ڥ ։ൃ͍ͯ͠Δ

    ιϑτ΢ΣΞ ಈ͔ͳ͍ͧ ˔ "ͷ࣮ߦ؀ڥͱຊ൪؀ڥͷҧ ͍͸ʁ ˔ "ͷ࣮ߦ؀ڥͷৄࡉ͸Ͳ͏ ΍ͬͯݟΕ͹ʁ ˔ ύοέʔδͷόʔδϣϯ͸ʁ
  3. Docker͕ͳͥඞཁʁ 7 POSL@Kyushu University: ։ൃऀ" "ͷ࣮ߦ؀ڥ ։ൃ͍ͯ͠Δ ιϑτ΢ΣΞ ຊ൪؀ڥ ։ൃ͍ͯ͠Δ

    ιϑτ΢ΣΞ %PDLFSͰύοέʔδԽ ˔ %PDLFS͕ಈ͘ͷͰ͋Ε͹࣮ߦՄೳ ˔ ޙड़͢Δ%PDLFS fi MF΍EPDLFSDPNQPTFΛ࢖͑͹؀ڥΛه ड़Ͱ͖Δ *OGSBTUSVDUVSFBT$PEF *B$
  4. ݚڀऀʹ͋Γ͕ͪͳύλʔϯ 8 ˔ ͦͷ࣌ʑͷ࢖༻ऀ͕ࣗ༝ؾ··ʹΠϯετʔϧ༷ͨ͠ʑͳύοέʔδɽԿ͕ ೖ͍ͬͯΔͷ͔Α͘Θ͔Βͳ͍ɽ ˔ ͱΓ͋͑ͣͳΜͱͳ͘ಈ͔͘Βͦͷ··์ஔ͍ͯ͠Δɽ࣌ʑಈ͔ͳ͘ͳͬ ͯɼͦͷ࣌ͷ༗ࣝऀ͕৔౰ͨΓతͳॲஔΛ͢ΔɽҰےೄͰ͸࣏Βͳ͍ͷͰɼ ௚͠ํ͸୭΋ॻ͍͓͔ͯͳ͍ʢຖճ͕࣌ؒେྔʹऔΒΕΔʣ ˔

    αʔόΛΈΜͳ࢖ͬͯΔ͔ΒαʔόͰ࣮ߦ͠Α͏ͱࢥͬͨΒɼಈ͘؀ڥΛ ੔͑ΒΕͳ͍ɽ ˔ ؀ڥΛഁյ͢Δ͜ͱ͕ාͯ͘04ͷΞοϓσʔτͱ͔΋Ͱ͖ͳ͍ɽ POSL@Kyushu University: ݹ୅ͷҨ࢈αʔό ݹ୅ͷҨ࢈αʔό ݹ୅ͷҨ࢈αʔό/ ɾɾɾ
  5. PythonΛ࣮ߦͰ͖Δίϯςφͷੜ੒ͱ࣮ߦ 12 ˔ EPDLFSQVMMQZUIPOTMJNCVTUFS ˔ ্Ͱ1ZUIPOͷΠϝʔδΛμ΢ϯϩʔυ ˔ EPDLFSJNBHFMT ˔ ্ͰϩʔΧϧʹ͋ΔΠϝʔδͷҰཡΛ֬ೝ

    ˔ EPDLFSDPOUBJOFSSVOQZUIPOTMJNCVTUFS QZUIPODlQSJOU bUFTU` z ˔ ্Λ࣮ߦ͢ΔͱɼUFTUͱ͍͏จࣈྻ͕ग़ྗ͞ΕΔɽ͜ͷ UFTUͱ͍͏จࣈྻ͸1ZUIPOʹΑΓ࣮ߦ͞Ε͍ͯΔ͕ɼ͜ Ε͕%PDLFSͷίϯςφͱͯ͠࡞੒͞Ε࣮ߦ͞Εͨɽ POSL@Kyushu University:
  6. ੜ੒ͨ͠ίϯςφͷ֬ೝͱ࡟আ 13 ˔ EPDLFSDPOUBJOFSMTB ˔ ্Ͱɼࠓ·Ͱʹੜ੒ͨ͠ίϯςφͷҰཡΛ֬ೝͰ͖Δ ˔ EPDLFSDPOUBJOFSSN\\ZPVSDPOUBJOFS*%^^ ˔ ίϯςφ͸ଘࡏ͢Δ͚ͩͰ΋༰ྔΛ৯͏ͷͰɼ্ͷίϚϯ

    υͰ࡟আ͓ͯ͘͠ɽ\\ZPVSDPOUBJOFS*%^^ͷ෦෼͸্ͷMT Ͱग़ྗ͞Εͨ΋ͷΛར༻͢Δɽ ˔ ͪͳΈʹɼ࣮ߦͨ͠ޙʹίϯςφΛࣗಈͰ࡟আ͢Δ͜ͱ΋ Ͱ͖Δɽྫ͑͹ҎԼɽSN͕ೖ͍ͬͯΔ ˔ EPDLFSDPOUBJOFSSVOSNQZUIPOTMJNCVTUFS QZUIPODlQSJOU bUFTU` z POSL@Kyushu University:
  7. ਤղͯ͠Έͨ 16 POSL@Kyushu University: 1ZUIPOͷ ίʔυΛ࣮ߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ

    1ZUIPOͷ ίʔυΛ࣮ߦ͢Δ ίϯςφΛੜ੒͠ ࣮ͯߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ %PDLFSͷ ίϯςφ
  8. ਤղͯ͠Έͨ 17 POSL@Kyushu University: 1ZUIPOͷ ίʔυΛ࣮ߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ

    1ZUIPOͷ ίʔυΛ࣮ߦ͢Δ ίϯςφΛੜ੒͠ ࣮ͯߦͯ͠ զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ %PDLFSͷ ίϯςφ ͜͜Λίϯςφͷதʹ ด͡ࠐΊΔ ͜ͱ͕Ͱ͖Δ
  9. ίϯςφͷதʹೖͬͯΈΔ 18 ˔ EPDLFSDPOUBJOFSSVOJUSNQZUIPOTMJN CVTUFSCBTI ˔ ্Λ࣮ߦ͢ΔͱɼQZUIPOTMJNCVTUFSͱ͍͏Πϝʔδ ͕ੜ੒͢ΔίϯςφͰCBTIΛىಈͯ͠ɼͦͷ୺຤Λಘ͍ͯ Δɽ͜͜Ͱ͸௨ৗͷ୺຤ͱಉ༷ʹ৭ʑͳૢ࡞͕ߦ͑Δɽ ʢCBTFJNBHF͸EFCJBOͳͷͰɼૢ࡞͸ͦΕʹ४ڌ͢Δʣɽ

    FYJUͰ୺຤ΛमྃͰ͖Δɽ ˔ ઌఔͷίϚϯυ͸ͭ·Γɼ͜ͷ୺຤্ͰQZUIPOD lQSJOU bUFTU` zΛ࣮ߦͨ͠ͷͱಉ͡Ͱ͋Δɽ ˔ ΍Γ͍ͨ͜ͱͱͯ͠͸ɼ͜ͷ୺຤্Ͱ؀ڥΛߏஙͯ͠͠· ͍ɼ࣮ݧεΫϦϓτͷ࣮ߦ·Ͱߦͬͯ͠·͍͍ͨɽ POSL@Kyushu University:
  10. ਤղͯ͠Έͨ 20 POSL@Kyushu University: զʑ 1$ 5FTUͱ͍͏ ग़ྗ݁Ռ %PDLFSͷ ίϯςφ

    ͜͜Λίϯςφͷதʹ ด͡ࠐΊΔ ͜ͱ͕Ͱ͖Δ ͕͜͜ผͷ1$ͷΑ͏ͳΠϝʔδ ͪ͜Βͷ؀ڥʹґଘ͠ͳ͍
  11. ઌఔͷܭࢉΛ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>
  12. ઌఔͷܭࢉΛ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ͷΦϓγϣϯɾ࣮ߦ͢ΔίϚϯυ
  13. Docker fi leͷ࣮ߦํ๏ 25 ˔ %PDLFS fi MF͸Ϗϧυͯ͠ΠϝʔδΛ࡞੒͠ɼΠϝʔδΛ΋ͱʹί ϯςφΛੜ੒࣮ͯ͠ߦ͠ͳ͚Ε͹ͳΒͳ͍ɽ ˔

    EPDLFSCVJMEUBHUFTUQZUIPO ˔ ·ͣ͸্ͷίϚϯυΛ%PDLFS fi MF͕͋ΔσΟϨΫτϦͰ࣮ߦ͠ ͯϏϧυ͢ΔɽUBHΦϓγϣϯ͸ɼΠϝʔδͷ໊લʹͳΔɽͷ લ͕ϦϙδτϦ໊ɼޙ͕λάʹͳΔɽ ˔ EPDLFSJNBHFMTB ˔ ্ͰΠϝʔδͷҰཡΛ֬ೝͰ͖Δ ˔ EPDLFSDPOUBJOFSSVOSNUFTUQZUIPO ˔ ͋ͱ͸ࠓ·Ͱͱಉ༷ʹ࣮ߦ͢Δɽͨͩ͠ɼ࡞੒ͨ͠ΠϝʔδΛ ࣮ߦର৅ͱ͢Δɽ POSL@Kyushu University:
  14. DockerͰϑΝΠϧ͕ফ͑Δ͜ͱΛ֬ೝ 28 ˔ EPDLFSDPOUBJOFSSVOJUSNQZUIPOTMJN CVTUFSCBTI 
 DEIPNF 
 FDIPUFTUaOUFTUUYU 


    MT ˔ ͜ΕͰɼUFYUUYU͕࡞੒͞Εͨ ˔ FYJU ˔ ্Ͱൈ͚Δͱɼ࡞੒ͨ͠UFTUUYU͸Ͳ͜ʹ΋ͳ͍ɽ POSL@Kyushu University:
  15. BindΛ࢖ͬͯϗετͷϘϦϡʔϜΛϚ΢ϯτ 29 ˔ EPDLFSDPOUBJOFSSVOJUSNNPVOU UZQFCJOE TPVSDF6TFSTNLPOEP UFTU UBSHFUIPNFQZUIPOTMJNCVTUFSCBTI 
 DEIPNF

    
 FDIPUFTUaOUFTUUYU 
 MT ˔ ্ͷ࣮ߦͷࡍ͸ɼNPVOUͷTPVSDFͰࢦఆ͢ΔσΟϨΫ τϦΛࣗ෼ͷ؀ڥʹ߹Θͤͯมߋ͢Δɽ ˔ ͜ΕͰɼUFYUUYU͕࡞੒͞Ε͕ͨɼFYJUͰൈ͚ͯ΋ɼ TPVSDFͰࢦఆͨ͠σΟϨΫτϦͰUFTUUYUΛ֬ೝͰ͖Δɽ POSL@Kyushu University:
  16. 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 ˔ ͜ΕͰ࣮ߦͰ͖Δ
  17. ߟ͑ΒΕΔϢʔεέʔε 31 ˔ EPDLFSDPOUBJOFSSVOJUSNNPVOU UZQFCJOE TPVSDF\\εΫϦϓτͷ֨ೲ৔ॴ^^ UBSHFU IPNF\\೚ҙͷΠϝʔδ^^CBTI ˔ ্Ͱ୺຤Λ্ཱͪ͛ͯɼͦ͜Ͱ؀ڥΛߏஙͨ͠ΓɼεΫ

    ϦϓτΛվྑͨ͠Γʢ͜Ε͸ϩʔΧϧͰ΍Δʣ࣮ͯ͠ݧ εΫϦϓτΛ࡞͍ͬͯ͘ɽ؀ڥߏங࣌ʹ͸ͦͷ಺༰͸ %PDLFS fi MFͱͯ͠ॻ͖ࠐΜͰ͍͘ ˔ ςετͳͲ΋ऴΘͬͨΒɼ%PDLFS fi MFΛ׬੒ͤͯ͞ɼ EPDLFSDPNQPTFZNMΛॻ͖ɼ࣮ݧ༻ͷܭࢉػ΁ૹΔɽ ˔ ࣮ߦɽ POSL@Kyushu University:
  18. pipenvͱ૊Έ߹Θͤͨํ๏ 32 ˔ QJQFOWͰ؀ڥΛߏங࣮ͯ͠ݧεΫϦϓτΛ࡞Δ ˔ 1JQ fi MFͱ1JQ fi MFMPDLΛ࢖͏ͱ؀ڥΛ࠶ݱͰ͖ΔͷͰɼ͜

    ΕΛ%PDLFS fi MFͰ࠶ݱͰ͖ΔΑ͏ʹͯ͠΍Δ ˔ ςετͳͲ΋ऴΘͬͨΒɼ%PDLFS fi MFΛ׬੒ͤͯ͞ɼ EPDLFSDPNQPTFZNMΛॻ͖ɼ࣮ݧ༻ͷܭࢉػ΁ૹΔɽ ˔ ࣮ߦɽ POSL@Kyushu University: