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

Docker ハンズオン / docker-hands-on

Docker ハンズオン / docker-hands-on

2024/03/07

【開発系エンジニアのためのDocker絵とき入門出版記念】著者と学ぶ Docker ハンズオン
https://phper-oop.connpass.com/event/309942/

本スライドで参考資料としているのは 開発系エンジニアのためのDocker絵とき入門 です
https://www.amazon.co.jp/dp/4798071501

ぜひ合わせてご覧ください

suzuki-hoge

March 07, 2024
Tweet

More Decks by suzuki-hoge

Other Decks in Programming

Transcript

  1. جૅฤ ɾίϯςφΛىಈͯ͠ΈΔ ɹ)FMMP8PSME 1)1 ɾΠϝʔδΛ࡞ͬͯΈΔ 
 ɹ1)1 .Z42- ٳܜ ࣮ફฤ

    ɾϗετϚγϯͷϑΝΠϧΛ1)1ίϯςφͰ࣮ߦ͢Δ ɾ1)1ίϯςφ͔Β.Z42-ίϯςφʹΞΫηε͢Δ ɾ1)1ͱ.Z42-Λ%PDLFS$PNQPTFͰҰؾʹىಈ͢Δ )BOETPOϝχϡʔ
  2. ɾίϯςφ͸ඞͣΠϝʔδ͔Βىಈ͢Δɺ͜Ε͸మଇ ɾΠϝʔδʹ͍ͭͯ͸࢒Γͷ)BOETPOͰ ɹগͣͭ͠ղઆ͠·͢ جૅ஌ࣝ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸

    1)1ίϯςφ QIQ QIQΠϝʔδ DPOUBJOFSSVO ίϯςφͱ͸ ˞ࠓ೔͸EPDLFSSVOͰ͸ͳ͘EPDLFSDPOUBJOFSSVOͷܗࣜͰ౷Ұ͠·͢ ˞εϖʔεͷ౎߹ͰEPDLFS͸লུ͠·͢
  3. ɾDPOUBJOFSSVOͰΠϝʔδ͔ΒίϯςφΛىಈ͢Δ ɾᶃ1)1ΠϝʔδΛ࢖͍͍ͨ ɹˠQIQͱQIQ ɾᶄ1)1ίϯςφ͸σϑΥϧτͰQIQBΛ࣮ߦ͢Δ͕ɺ 
 ɹόʔδϣϯग़ྗΛ࣮ߦ͍ͤͨ͞ ɹˠQIQW ߟ͑Δ͜ͱ ίϯςφىಈ࣌ʹ 


    ೚ҙͷॲཧΛ࣮ߦ͢Δ EPDLFSDPOUBJOFSSVO<015*0/4>*."(&<$0.."/%> ᶃ ᶄ ίϯςφΛىಈ͢Δ %PDLFS)VCͰΠϝʔδΛ୳͢ ׬શͳΠϝʔδ໊ͱλά ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  4. EPDLFSDPOUBJOFSSVOQIQQIQW 1)1 DMJ CVJMU/PW /54 $PQZSJHIU D

    5IF1)1(SPVQ ;FOE&OHJOFW $PQZSJHIU D ;FOE5FDIOPMPHJFT ࣮ߦྫ EPDLFSDPOUBJOFSSVOQIQQIQW 1)1 DMJ CVJMU/PW /54 $PQZSJHIU D 5IF1)1(SPVQ ;FOE&OHJOFW $PQZSJHIU D ;FOE5FDIOPMPHJFT ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ EPDLFSDPOUBJOFSSVO<015*0/4>*."(&<$0.."/%>
  5. 1)1ίϯςφ QIQJOJ 7JN ɾίϯςφͰ࢖͍͍ͨ΋ͷ͸ΠϝʔδʹೖΕ͓ͯ͘ جૅ஌ࣝ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ

    ࠔͬͨͱ͖͸ ͳͥΠϝʔδૢ࡞Λ ཧղ͢Δඞཁ͕͋Δ͔ 1)1ίϯςφ QIQ QIQJOJ QIQ DPOUBJOFSSVO DPOUBJOFSSVO 7JN QIQJOJ 7JN QIQΠϝʔδ
  6. DEIBOETPO MT %PDLFSGJMF3&"%.&NE EPDLFSJNBHFCVJMEUBHIBOETPO OBNJOHUPEPDLFSJPMJCSBSZIBOETPO ͳͲ EPDLFSJNBHFMT 3&104*503:5"(Ҏུ߱ IBOETPOҎུ߱

    ࣮ߦྫ Πϝʔδ࡞੒ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ EPDLFSJNBHFCVJME<015*0/4>1"5)
  7. ɾJNBHFCVJMEͰ%PDLFSGJMF͔ΒΠϝʔδΛ࡞੒͢Δ ɾᶃΠϝʔδ໊Λࢦఆ͍ͨ͠ ɹˠUBHIBOETPO ɾᶄΧϨϯτσΟϨΫτϦͷ%PDLFSGJMFΛ࢖͍͍ͨ ɹˠ ɾ%PDLFSGJMFͷॻ͖ํ͸࢒೦͚ͩͲׂѪ EPDLFSJNBHFCVJME<015*0/4>1"5) ߟ͑Δ͜ͱ Πϝʔδ࡞੒ ᶃ

    ᶄ Πϝʔδͷ؀ڥม਺ 
 Λࢦఆ͢Δ&/7 %PDLFS fi MFͰ ΠϝʔδΛϏϧυ͢Δ ϗετϚΠϯͷϑΝΠϧΛ 
 Πϝʔδʹ௥Ճ͢Δ$01: ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  8. ɾDPOUBJOFSFYFDͰىಈதίϯςφʹNZTRMΛ௥ՃͰ࣮ߦͤ͞Δ ɾᶃΫΤϦ࣮ߦΛର࿩ૢ࡞Ͱߦ͍͍ͨ ɹˠJOUFSBDUJWFUUZ ɾᶄ͖ͬ͞ىಈͨ͠ίϯςφΛࢦఆ͍ͨ͠ ɹˠDPOUBJOFSMTͰίϯςφ*%Λௐ΂Δ ɾᶅσʔλϕʔεʹ઀ଓ͍ͨ͠ ɹˠNZTRMIMPDBMIPTUVBQQQQBTTTBNQMF ߟ͑Δ͜ͱ ֬ೝ EPDLFSDPOUBJOFSFYFD<015*0/4>$0/5"*/&3$0.."/%

    ᶃ ᶄ ىಈதͷίϯςφʹ໋ྩ͢Δ ίϯςφىಈ࣌ʹ 
 ೚ҙͷॲཧΛ࣮ߦ͢Δ ίϯςφҰཡΛ֬ೝ͢Δ ᶅ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ ίϯςφΛର࿩ૢ࡞͢Δ ىಈதͷίϯςφʹ໋ྩ͢Δ
  9. DEIBOETPO MT %PDLFSGJMF3&"%.&NEJOJUTRM EPDLFSJNBHFCVJMEUBHIBOETPO OBNJOHUPEPDLFSJPMJCSBSZIBOETPO ͳͲ EPDLFSJNBHFMT 3&104*503:5"(Ҏུ߱ IBOETPOҎུ߱

    IBOETPOҎུ߱ ࣮ߦྫ Πϝʔδ࡞੒ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ EPDLFSJNBHFCVJME<015*0/4>1"5)
  10. EPDLFSDPOUBJOFSMT $0/5"*/&3*%*."(&தུ/".&4 EBCBDIBOETPOதུDPOGJEFOU@IBXLJOH EPDLFSDPOUBJOFSFYFDa JOUFSBDUJWFUUZa EBCBDa NZTRMIMPDBMIPTUVBQQQQBTTTBNQMF NZTRMTFMFDU GSPNDVTUPNFS ུ

    ࣮ߦྫ ֬ೝ ˞վߦ͸೚ҙ ˞1PXFS4IFMM͸#BDL4MBTI a Ͱ͸ͳ͘#BDL2VPUF A Ͱվߦ ˞(JU#BTI͸XJOQUZEPDLFSDPOUBJOFSFYFDʹ͢ΔඞཁΞϦ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ EPDLFSDPOUBJOFSFYFD<015*0/4>$0/5"*/&3$0.."/%
  11. EPDLFSDPOUBJOFSSVO<015*0/4>*."(&<$0.."/%> ɾᶃϗετϚγϯͷϑΝΠϧΛίϯςφͰ΋࢖͑ΔΑ͏ʹ͢ΔͨΊɺ ɹϗετϚγϯͷΧϨϯτσΟϨΫτϦΛίϯςφͷXPSLʹϚ΢ϯτ͍ͨ͠ ɹˠNPVOUUZQFCJOE TPVSDF QXE EFTUJOBUJPOXPSL ɾᶄϗετϚγϯͷϙʔτ͔Β 


    ɹίϯςφͷϙʔτʹΞΫηε͍ͨ͠ ɹˠQVCMJTI ɾᶅ1)1ΠϝʔδΛ࢖͍͍ͨ ɹˠQIQ ɾᶆίϯςφʹϏϧτΠϯαʔόΛىಈ͍ͤͨ͞ ɹˠQIQTFSWFSEPDSPPUXPSL ߟ͑Δ͜ͱ όΠϯυϚ΢ϯτͷར༻ ᶅ ᶆ ᶃ ᶄ ίϯςφͷϙʔτΛެ։͢Δ ίϯςφىಈ࣌ʹ 
 ೚ҙͷॲཧΛ࣮ߦ͢Δ %PDLFS)VCͰΠϝʔδΛ୳͢ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  12. DEIBOETPO MT 3&"%.&NEJOEFYQIQ EPDLFSDPOUBJOFSSVOa NPVOUUZQFCJOE TPVSDF QXE EFTUJOBUJPOXPSLa QVCMJTIa

    QIQa QIQTFSWFSEPDSPPUXPSL ࣮ߦྫ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ EPDLFSDPOUBJOFSSVO<015*0/4>*."(&<$0.."/%> MPDBMIPTUΛ֬ೝ
  13. ɾ%PDLFSͷωοτϫʔΫΛ࡞੒͠ɺ ɹ.Z42-ίϯςφͱ1)1ίϯςφΛ઀ଓ͢Δ ɾ1)1ίϯςφΛىಈ͢Δͱ.Z42-ίϯςφ͔Β 
 ɹऔಘͨ͠σʔλ͕ग़ྗ͞ΕΔ ɹJE OBNF+PIO%PF FNBJMKPIO!FYBNQMFDPN 
 ɹJE

    OBNF+BOF%PF FNBJMKBOF!FYBNQMFDPN ɾίϚϯυ͸NBJOQIQͷ͋Δ ɹIBOETPOͰ࣮ߦ͢Δ ΰʔϧ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  14. ɾᶃ࡞੒ͨ͠ωοτϫʔΫʹίϯςφΛ઀ଓ͍ͨ͠ ɹˠOFUXPSLXPSLOFUXPSL ɾᶄϗετϚγϯͷϑΝΠϧΛίϯςφͰ΋࢖͑ΔΑ͏ʹ͢ΔͨΊɺ ɹϗετϚγϯͷΧϨϯτσΟϨΫτϦΛίϯςφͷXPSLʹϚ΢ϯτ͍ͨ͠ ɹˠNPVOUUZQFCJOE TPVSDF QXE EFTUJOBUJPOXPSL ɾᶅ)BOETPOͰ࡞੒ͨ͠.Z42-υϥΠό͕ΠϯετʔϧࡁΈͷ

    ɹ1)1ΠϝʔδΛ࢖͍͍ͨ ɹˠIBOETPO ɾᶆXPSLʹϚ΢ϯτͨ͠NBJOQIQΛ࣮ߦ͍ͨ͠ ɹˠQIQXPSLNBJOQIQ ߟ͑Δ͜ͱ 1)1ίϯςφ ίϯςφىಈ࣌ʹ ೚ҙͷॲཧΛ࣮ߦ͢Δ όΠϯυ Ϛ΢ϯτͷར༻ ᶅ ᶃ ᶄ EPDLFSDPOUBJOFSSVO<015*0/4>*."(&<$0.."/%> ᶆ ίϯςφىಈ࣌ʹ ωοτϫʔΫʹ઀ଓ͢Δ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  15. ਤ IBOETPOΠϝʔδ 1)1ίϯςφ QIQXPSLNBJOQIQ XPSLOFUXPSL DPOUBJOFSSVO QIQXPSLNBJOQIQ NPVOUUZQFCJOE ddd OFUXPSLNZOFUXPSL

    IBOETPOΠϝʔδ .Z42-ίϯςφ NZTRME EC DPOUBJOFSSVO OFUXPSLNZOFUXPSL OFUXPSLBMJBTEC ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  16. ࣮ߦྫ 1)1ίϯςφ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ EPDLFSDPOUBJOFSSVO<015*0/4>*."(&<$0.."/%> EPDLFSDPOUBJOFSSVOa

    OFUXPSLXPSLOFUXPSLa NPVOUUZQFCJOE TPVSDF QXE EFTUJOBUJPOXPSLa IBOETPOa QIQXPSLNBJOQIQ JE OBNF+PIO%PF FNBJMKPIO!FYBNQMFDPN JE OBNF+BOF%PF FNBJMKBOF!FYBNQMFDPN
  17. ɾίϯςφͷىಈΛͱΓ·ͱΊΔศརπʔϧͰ͋Γɺ ɹίϯςφͷجૅ஌ࣝ͸ಉ͡Α͏ʹඞཁͱͳΔ جૅ஌ࣝ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ ɹJNBHFCVJME

    ɹ<015*0/> ɹDPOUBJOFSSVO ɹ<015*0/> ɹ<015*0/> ɹ<015*0/> ɹDPOUBJOFSSVO ɹ<015*0/> ɹ<015*0/> ɹDPNQPTFZBNM ɹQSPQFSUZ ɹQSPQFSUZ ɹQSPQFSUZ ɹQSPQFSUZ ɹQSPQFSUZ ɹQSPQFSUZ EPDLFSίϚϯυΛ DPNQPTFZBNMʹҠ২͢Δ
  18. cDPNQPTFZBNM cEPDLFS ccNZTRM ccc%PDLFSGJMF ccAJOJUTRM cAQIQ cA%PDLFSGJMF AJOEFYQIQ DPNQPTFZBNMʹ͍··Ͱ࡞ͬͨίϚϯυΛ

    ॻ͖Ҡ͢ ߟ͑Δ͜ͱ ϑΝΠϧ࡞੒ த਎͸IBOETPOͱಉ͡ த਎͸IBOETPOͱಉ͡ த਎͸IBOETPOͱಉ͡ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸
  19. TFSWJDFT QIQ CVJMEEPDLFSQIQ QPSUT WPMVNFT UZQFCJOE TPVSDF UBSHFUXPSL DPNNBOEQIQTFSWFSEPDSPPUXPSL

    ωοτϫʔΫ͸ࣗಈͰ࡞੒͞Ε઀ଓ͞ΕΔͷͰରԠෆཁ ߟ͑Δ͜ͱ DPNQPTFZBNMͷQIQ EPDLFSίϚϯυΛ DPNQPTFZBNMʹҠ২͢Δ ΰʔϧ جૅ஌ࣝ ߟ͑Δ͜ͱ ਤ ࣮ߦྫ ࠔͬͨͱ͖͸ JNBHFCVJME͢ΔσΟϨΫτϦ DPOUBJOFSSVOͷQVCMJTI DPOUBJOFSSVOͷNPVOU DPOUBJOFSSVOͷ$0.."/%