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

Dockerを本番導入するにあたり得た知見

 Dockerを本番導入するにあたり得た知見

JAWS-UG横浜 #10 - Docker での発表資料です

Shoichiro Nagai(shnagai)

July 19, 2017
Tweet

More Decks by Shoichiro Nagai(shnagai)

Other Decks in Technology

Transcript

  1. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    +"846(ԣ඿%PDLFS
    $POOFIJUPJODӬҪউҰ࿠
    %PDLFSΛຊ൪ಋೖ͢Δʹ͋ͨΓಘͨ஌ݟ

    View Slide

  2. ࣗݾ঺հ
    ӬҪউҰ࿠
    @twitter shnagai
    Connehito inc. ΠϯϑϥΤϯδχΞ
    http://kobitosan.hatenablog.com/
    http://qiita.com/nagais
    ৬ྺɿ

    SIerɹɹɹɹ3೥
    Ұٳɹɹɹ 7೥
    ίωώτ ࠓ೥5݄͔Β

    View Slide

  3. ϚϚϦͷαʔϏε঺հ
    ϚϚϦ2 ϚϚΛࢧ͑Δ2"ΞϓϦ

    ೥ʹग़࢈ͨ͠ঁੑͷਓʹਓ͕
    ձһొ࿥


    ϚϚϦ ϚϚΛࢧ͑Δ8FCϝσΟΞ


    ˞೥݄࣌఺

    ݄ؒར༻ऀɿ໿ສਓ

    ݄ؒ౤ߘ਺ɿສ݅Ҏ্

    ݄ؒӾཡ਺ɿ໿ԯ17








    View Slide

  4. ΞδΣϯμ
    w ίωώτͰͷ%PDLFSࣄ৘
    w ΦʔέετϨʔγϣϯπʔϧͱͯ͠ͷ&$4
    w %PDLFSӡ༻Ͱಘͨ஌ݟ

    View Slide

  5. ίωώτͰͷ%PDLFSࣄ৘

    View Slide

  6. ͳͥ%PDLFS
    w ։ൃ؀ڥͷվળͱͯ͠%PDLFSΛಋೖͯ͠੒Ռग़ͨ

    ʲ։ൃ؀ڥվળͱͯ͠%PDLFSΛಋೖͨ͠࿩ʳ

    IUUQUFDIDPOOFIJUPDPNFOUSZ

    w ຊ൪΋%PDLFSԽͨ͠Βྑͦ͞͏
    w ग़དྷΔͱ͜Ζ͔Β%PDLFSΛಋೖ͍ͯ͜͠͏

    View Slide

  7. %PDLFSԽ͞Ε͍ͯΔ΋ͷ
    w %#εΩʔϚ؅ཧπʔϧͷ࣮ߦ؀ڥ

    &$PO%PDLFSˠɹ&$4

    ࣮ߦ࣌ʹҰ౓͚ͩඞཁʹͳΔͷͰίϯςφ͸࢖͍ࣺͯ
    w 8FCΞϓϦέʔγϣϯͷεςʔδϯά؀ڥ

    &$45SBWJT$*

    ։ൃ؀ڥͱಉ͡%PDLFSΠϝʔδΛεςʔδϯά؀ڥʹల։

    View Slide

  8. ౰ॳͷΞʔΩςΫνϟ

    View Slide

  9. ίϯςφͷ഑උɾϥΠϑαΠΫϧճ͢ͷ
    ݁ߏେมɻɻɻ

    View Slide

  10. w %PDLFS͸ͱͯ΋ศར
    w ͕ͩɺίϯςφͷϥΠϑαΠΫϧΛճ͢ͷ͸΍΍໘౗

    खಈͰ΍Ζ͏ͱ͢Δͱ͜Μͳεςοϓ͕ɺɺ


    ϩʔΧϧϚγϯ Ϗϧυˠ&$3QVTI

    EPDLFSCVJMEUYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU

    BXTFDSHFUMPHJOSFHJPOBQOPSUIFBTU

    EPDLFSQVTIYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU

    &$ &$3QVMMˠچίϯςφഁغˠίϯςφىಈ

    BXTFDSHFUMPHJOSFHJPOBQOPSUIFBTU

    EPDLFSQVMMYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU

    EPDLFSLJMMIPHFEEM

    EPDLFSSNIPHFEEM

    EPDLFSSVOEOBNFIPHFEEMYYELSFDSBQOPSUIFBTUBNB[POBXTDPNIPHFEEMMBUFTU

    ΦʔέετϨʔγϣϯͷਏΈ

    View Slide

  11. ΦʔέετϨʔγϣϯ૚Λ

    Կͱ͔͍ͨ͠

    View Slide

  12. &$4 "NB[PO&$$POUBJOFS4FSWJDF

    ʹ

    ΦʔέετϨʔγϣϯ૚Λ೚ͤΑ͏

    View Slide

  13. w "84͕ఏڙ͍ͯ͠Δ

    ϚωʔδυαʔϏεͳͷͰӡ༻͕ෆཁ

    BXTίϚϯυͰૢ࡞Մೳ

    &$3ͱ͍͏%PDLFSΠϝʔδͷϦϙδτϦ΋͋Δ
    wίϯςφͷӡ༻Λશͯ೚ͤΒΕΔ

    ԼهͷͭͷཁૉΛఆٛ͢Δ͜ͱͰίϯςφͷϥΠϑαΠΫϧΛճͤΔ

    ΫϥελɾɾίϯςφΛཱͯΔϗετΛ؅ཧ

    λεΫఆٛɾɾͲΜͳίϯςφΛཱͯΔ͔

    αʔϏεɾɾίϯςφΛ͍ͭ͘഑උ͢Δ͔΍&-#ͱͷ࿈ܞ
    wಈతϙʔτϚοϐϯά

    ಉ͡छྨͷίϯςφΛಉҰͷϗετʹෳ਺ཱͯΒΕΔ

    IUUQEPDTBXTBNB[PODPNKB@KQFMBTUJDMPBECBMBODJOHMBUFTUBQQMJDBUJPOUVUPSJBMUBSHFUFDT
    DPOUBJOFSTIUNM

    &$4ͷ͍͍ͱ͜Ζ

    View Slide

  14. &$4ޙͷΞʔΩςΫνϟ

    View Slide

  15. &$4ɾɾϋϚͬͨϙΠϯτू

    View Slide

  16. w ԼهͷͭͷίϯϙʔωϯτͰ&$4͸ߏ੒͞ΕΔɻ

    ͜ΕΒͷ૬͕ؔதʑཧղग़དྷͣҰ౓͸ఘΊͨɻɻɻ


    λεΫ

    %PDLFSίϯςφ

    λεΫఆٛ

    ɹ%PDLFSίϯςφͷىಈύϥϝʔλ౳ EPDLFSDPNQPTFZNM૬౰

    αʔϏε

    ɹλεΫΛ·ͱΊΔάϧʔϓ λεΫىಈ਺"-#࿈ܞ"VUPTDBMFͷઃఆ౳

    Ϋϥελ

    ɹλεΫΛಈ͔͢ϗετ &$
    ͷू߹ମΛఆٛ "VUP4DBMMJOH(SPVQPSΧελϜ&$


    ᶃ&$4ͷ֤ίϯϙʔωϯτͷ૬ؔΛཧղ͢Δͷ͕೉͍͠

    View Slide

  17. w &$4Ϋϥελ͸ɺΫϥελ࡞੒࣌ʹ"VUP4DBMMJOHάϧʔ
    ϓΛ࡞Δ

    "VUP4DBMMJOHάϧʔϓ͸͍Βͳ͍͔ΒɺϢʔβσʔλͰىಈ࣌ʹࣄલॲཧͨ͠&$
    ͚ͩͰΫϥελΛߏ੒͍ͨ͠

    ˠۭͷΫϥελΛ࡞ͬͯɺ&$͸ޙ͔Βඥ෇͚͍ͨ


    (6*ͩͱ͜ͷνΣοΫϘοΫεΛ͍ΕΔ͚ͩͳͷʹதʑؾ͚ͮͳ͔ͬͨɻɻɻ







    ᶄΧελϚΠζͨ͠Πϯελϯε͚ͩͰΫϥελΛߏ੒͍ͨ͠

    View Slide

  18. w αʔϏεͷσϓϩΠ͸ऴΘ͍ͬͯΔͷʹɺ"-#্Ͱ׬શ
    ͳτϥϑΟοΫͷ੾ΓସΘΓ͕ى͖ͳ͍

    αʔϏεΛσϓϩΠ͢Δͱɺ&$4αʔϏε্͸৽چͭͷσϓϩΠλεΫ͕ڞଘ͢Δ

    ৽نαʔϏεͷσϓϩΠ͸13*."3:Ͱཱ͕ͪ͋Δ͕ɺچσϓϩΠͷݩʹ࣮ߦ͞Εͯ
    ͍ΔλεΫ͸໾ׂ͕ऴΘΔ·Ͱফ͑ͳ͍

    "-#഑ԼʹλεΫ͕͍Δ৔߹ͷ໾ׂ"-#ͷτϥϑΟοΫάϧʔϓʹॴଐ͢Δ͜ͱ


    "-#Ͱ͸ɺESBJOJOHঢ়ଶ طଘίωΫγϣϯͷҡ࣋͢Δ
    ΛσϑΥϧτͰTҡ࣋
    ͢ΔઃఆͩͬͨͷͰɺ࣮࣭σϓϩΠऴྃޙ͔ΒT͸αʔϏεͷσϓϩΠ͸ऴΘΒ
    ͳ͍ɻɻ


    ESBJOJOHঢ়ଶ͸ɺT΋͋Ε͹े෼ͳͷͰ"-#ଆͰઃఆ஋Λม͑Δ͜ͱͰEFQMPZ͕ߴ
    ଎Խɻɻ
    ᶅ"-#࿈ܞͷ&$4αʔϏεͰσϓϩΠ׬͕ྃ஗͍

    View Slide

  19. w ࡟আର৅ͷΫϥελʹɺλεΫ ίϯςφ
    ͕ಈ͍͍ͯΔ
    ৔߹͸ɺΫϥελ͸࡟আग़དྷͳ͍ɻɻ

    αʔϏεͰλεΫͷඞཁ਺Λʹ͢ΔˠλεΫফ͑Δ

    Ϋϥελ্Ͱಈ͍͍ͯΔλεΫ͕ʹͳΔ

    Ϋϥελͷ࡟আ͕ग़དྷΔ


    ͦΕͧΕͷґଘؔ܎͕Θ͔͍ͬͯΕ͹؆୯͕ͩɺதʑཧ
    ղग़དྷͳ͔ͬͨɻɻ
    ᶆ&$4Ϋϥελͷ࡟আํ๏

    View Slide

  20. ֶशίετ͸ਖ਼௚͔͔Δ͕
    ઌʑଓ͘ӡ༻Λߟ͑Δͱ&$4Φεεϝ

    View Slide

  21. %PDLFSΛӡ༻ͯ͠ಘͨ஌ݟ

    View Slide

  22. w ႈ౳ੑΛશ͘ؾʹ͠ͳͯ͘Α͍ͷ͕࠷ߴ

    DIFG BOTJCMF TIFMMTDSJQUႈ౳ੑΛ୲อ͢Δͷ͕ਏ͔ͬͨɻɻ

    %PDLFS͸ΠϛϡʔλϒϧͳͷͰɺ౓૸Δ͜ͱΛؾʹ͠ͳ͍͍ͯ͘
    w ؆୯ͳهड़

    36/ͰTIFMMίϚϯυΛ௲͍ͬͯ͘ܗࣜͳͷͰ୭Ͱ΋ಡΊΔ


    ᶃ%PDLFSGJMF࠷ߴ

    View Slide

  23. w ։ൃ؀ڥͰಈ͍ͨ΋ͷΛͦͷ··ผ؀ڥʹҠૹग़དྷΔ

    ࣮ߦ؀ڥͱΞϓϦέʔγϣϯίʔυΛύοέʔδԽͯ࣋ͪ͠ӡͿ


    ࢖͏ͱɺFCFYUFOTJPOTͷ಺༰ΛϩʔΧϧͰ࠶ݱͤ͞Δਏ͋͞Δ


    ຊ൪͚ͩͰग़ΔΤϥʔ։ൃ؀ڥͰ͸ಈ͘Έ͍ͨͳਏ͍ӡ༻͔Βͷղ์

    ਖ਼֬ʹ͍͏ͱɺΤϥʔͷ੾Γ෼͚͔ΒίϯςφԽ͍ͯ͠Δ෦෼Λ੾Γ཭ͯ͠ߟ͑ΒΕ
    Δɻ

    ࣮ߦ؀ڥ͸Ұॹ %PDLFSΠϝʔδ
    ͔ͩΒɺຊ൪ͱ։ൃ؀ڥͷࠩҟ͸ͳΜ͚ͩͬͱ͍͏
    εςοϓʹ͙͍͚͢Δɻ
    ᶄϙʔλϏϦςΟ

    View Slide

  24. w %PDLFSGJMFΛಡΊ͹શͯཧղग़དྷΔঢ়ଶΛ࡞Δ

    ϕʔεΠϝʔδ͸ผͰ؅ཧ͠ɺͦͷ಺༰͸Θ͔Βͳ͍Έ͍ͨͳঢ়ଶ͸࡞Βͳ͍ɻɻ

    શͯ͸ɺ։ൃ؀ڥͰ࠶ݱग़དྷɺ͔ͭΠϝʔδΛͦͷ··͍͚࣋ͬͯΔΑ͏ʹɻ
    w ίϯςφͷத਎͸ɺ୭Ͱ΋ߋ৽ग़དྷΔମ੍ʹ

    ͜Ε·Ͱͷ04΍ϛυϧ΢ΣΞͷϨΠϠ͸Πϯϑϥ͕؅ཧΈ͍ͨͳੈքͱͷܾผ


    ᶅ%PDLFSΠϝʔδ͸ந৅Խ͠ͳ͍ํ͕Αͦ͞͏

    View Slide

  25. w &$4؀ڥͰͷ%PDLFSίϯςφσϓϩΠϑϩʔ

    %PDLFSGJMFͷ࡞੒͸ϩʔΧϧͷ։ൃ؀ڥͰ׬݁

    σϓϩΠ࣌ʹඞཁͳࣄ ։ൃ؀ڥͰ࡞ͬͨ%PDLFSΠϝʔδΛ"84্ʹ഑උ͢Δ

    ɹ%PDLFSGJMFϏϧυ&$3ʹQVTIλεΫఆٛͷ৽ϦϏδϣϯ࡞੒αʔϏεߋ৽
    w &$4ͷσϓϩΠ෦෼͸ɺFDTEFQMPZ͕ྑͦ͞͏

    ৽͍͠ίϯςφͷ഑උλεΫఆٛͷ৽ϦϏδϣϯ࡞੒αʔϏεߋ৽͕ඞཁ

    ͜ͷ෦෼ΛࣗಈԽͯ͘͠ΕΔπʔϧ

    FDTEFQMPZ͸ɺFDTDMJΛ࢖ͬͯॻ͔Ε͍ͯΔͷͰɺಡΈ΍͍͢

    ऴྃΛ଴ͬͯ͘ΕΔ FDTDMJͷEFTDSJCFTFSWJDFTTFSWJDFTEFQMPZNFOU͕ʹͳΔͷΛ؂ࢹ

    ʲαϯϓϧίϚϯυʳ

    FDTEFQMPZU λεΫߋ৽ͷλΠϜΞ΢τ஋
    DE<Ϋϥελ໊>O<αʔϏε໊>J<%PDLFSϦϙδτϦͷ63->

    ˞IUUQTHJUIVCDPNTJMJOUFSOBUJPOBMFDTEFQMPZ
    ᶆ&$4؀ڥͰͷσϓϩΠϕετϓϥΫςΟε

    View Slide

  26. %PDLFSΛಋೖͯ͠ɺ
    ݁ہԿ͕͏Ε͔ͬͨ͠ͷ͔

    View Slide

  27. ґଘؔ܎Λҙࣝͨ͠ਏ͍γεςϜӡ༻

    ϩʔΧϧ0,ˠຊ൪ʜ

    ܦݧଇ͔Βಋ͔ΕΔ͜ͷ໾ׂͩͬͨΒ͋ͷαʔόͰ͠ΐ

    ˣ

    Ұͭͷίϯϙʔωϯτ͚ͩΛߟ͑Δ

    ָͳγεςϜӡ༻ʹਐԽ

    ϩʔΧϧ0,ˠຊ൪0, ׬શʹಉ͡΋ͷ͕ಈ͘

    ίϯςφػೳ

    ίϯςφͷ഑උ͸&$4ʹ͓೚ͤͦ͜ʹ಄࢖Θͳ͍

    View Slide

  28. w %PDLFSΛಋೖ͢Δ͜ͱͰɺ͜Ε·Ͱͷਏ͍γεςϜӡ༻
    ͔Β୤٫ग़དྷΔ෦෼͕͋Δ
    w %PDLFSGJMF͸Φʔϓϯʹ୭Ͱ΋৮ΕΔΑ͏ͳӡ༻Λ͠ͳ
    ͍ͱࢫຯ͕൒ݮ͢Δɻ
    w %PDLFSΦʔέετϨʔγϣϯπʔϧͱͯ͠ɺ"84Λ࢖ͬ
    ͍ͯΔͳΒ&$4͕ྑͦ͞͏
    ·ͱΊ

    View Slide