Save 37% off PRO during our Black Friday Sale! »

Dockerよちよち歩きハンズオン / Docker hands-on for beginners

Fb025419ed38f98df595eb2eafc859f4?s=47 ihcomega56
October 05, 2021

Dockerよちよち歩きハンズオン / Docker hands-on for beginners

Fb025419ed38f98df595eb2eafc859f4?s=128

ihcomega56

October 05, 2021
Tweet

Transcript

  1. %PDLFS ΑͪΑͪา͖ ϋϯζΦϯ

  2. 2 ࣗݾ঺հ Α͜ͳ "ZBOB:PLPUB • +'SPHͷ%FWFMPQFS"EWPDBUF • લ৬·Ͱ͸ओʹόοΫΤϯυͷ։ൃ ʢ4*FS ޿ࠂձࣾ

    ূ݊ελʔτΞοϓʣ • ࠷ۙɺੜ·ΕͯॳΊͯಉ͡өըΛ౓؍ͨ !"#$$%&' (#)*+,%-.
  3.  ʮΑͪΑͪา͖ʯγϦʔζ ಛ௃ • ʮ͸͡ΊͷҰาʯͷ࣍ͷεςοϓʂ • ʮ͸͡ΊͷҰาʯͰֶΜͩ಺༰ʹ͍ͭͯखΛಈ͔ͯ͠ΈΔ • ໢ཏతʹԿͰ΋΍ͬͯΈΔͷͰ͸ͳ͘ɺ·ͣ͸͡Ίʹඞཁͳ ػೳɾૢ࡞Λ༏ઌ͢Δ

    લఏ஌ࣝ • %PDLFS͸͡ΊͷҰา IUUQTTQFBLFSEFDLDPNJIDPNFHBUIFGJSTUTUFQPGEPDLFS
  4.  %PDLFSͷ؆୯ͳ͓͞Β͍

  5.  %PDLFSͷΞʔΩςΫνϟ • %PDLFSσʔϞϯ͕ίϯςφͷ؅ཧ΍࣮ߦΛߦ͏ • Ϣʔβʔ͸%PDLFSΫϥΠΞϯτͱ΍ΓͱΓ͢Δ͜ͱͰؒ઀తʹ σʔϞϯͰ΍Γ͍ͨ͜ͱΛ࣮ݱ͢Δ • ೔ʑͷ։ൃΛ͢Δ্ͰσʔϞϯͱΫϥΠΞϯτͷҧ͍͸͋·Γ ҙࣝ͠ͳ͍

    %PDLFS ΫϥΠΞϯτ %PDLFSσʔϞϯ ίϯ ςφ ίϯ ςφ ίϯ ςφ ίϚϯυΛ ࢖͏ %PDLFSΤϯδϯ
  6. • ίϯςφΛ࡞੒͢ΔͨΊͷ໋ྩ͕ೖͬͨύοέʔδ • طʹଘࡏ͢Δ΋ͷΛ࢖͏͜ͱ΋ɺ࡞Δ͜ͱ΋Ͱ͖Δ • Πϝʔδ͕࣮ߦঢ়ଶʹͳͬͨΠϯελϯε͕ίϯςφ  %PDLFSΠϝʔδ %PDLFS Πϝʔδ

    ࣮ߦ؀ڥͱͯ͠"MQJOF ܰྔͷ-JOVY Λ࢖ͬͯʂ +BWBͱ(SBEMFΛΠϯετʔϧͯ͠ʂ ࣮ߦϑΝΠϧ͸͜ͷσΟϨΫτϦʹ഑ஔͯ͠ʂ +BWBΞϓϦέʔγϣϯΛ࣮ߦͯ͠ʂ
  7.  ·ͣ͸ެ։͞Ε͍ͯΔ ΠϝʔδΛ࢖ͬͯΈΑ͏

  8.  %PDLFS)VC͔ΒΠϝʔδΛऔಘ %PDLFSΠϝʔδΛμ΢ϯϩʔυ͢Δ docker pull %PDLFSϨδετϦʹϩάΠϯ͢Δ docker login %PDLFSΠϝʔδΛݕࡧ͢Δ docker

    search
  9. ҎԼͷ͍ͣΕ͔ͰΠϝʔδΛಛఆ͢Δ • *% • Πϝʔδ໊<λά໊> • Πϝʔδ໊<!μΠδΣετ஋>  %PDLFSΠϝʔδͷಛఆɾ࣮ߦ ίϯςφΛ࡞੒ɾ࣮ߦ͢Δ

    docker run σϑΥϧτ͸ϑΥΞάϥ΢ϯυ ࣮ߦɻόοΫάϥ΢ϯυʹ͢Δ ʹ͸EΦϓγϣϯΛ͚ͭΔ ίϯςφΛ࡞੒͢Δ docker create ίϯςφΛ࣮ߦ͢Δ docker start
  10.  खݩͷ੔ཧ • ஈʑϩʔΧϧʹΠϝʔδ͕ͨ·͍ͬͯ͘ͷͰ࣌ʑ֬ೝ͠Α͏ • ͍Βͳ͍΋ͷ͸࡟আ͠Α͏ %PDLFSΠϝʔδҰཡΛදࣔ͢Δ docker images %PDLFSΠϝʔδΛ࡟আ͢Δ

    docker rmi /012 3456789 :;<=>?@
  11.  ΠϝʔδΛࣗ෼Ͱ ࡞ͬͯΈΑ͏

  12.  %PDLFSGJMFͷॻ͖ํ FROM nginx:latest COPY ./index.html /usr/share/nginx/html/index.html ඞͣϑΝΠϧ໊͸%PDLFSGJMFͱ͢Δ %PDLFS͕Ϗϧυ༻ϑΝΠϧΛ໊લͰ൑ผ ͢ΔͨΊ

    %PDLFSGJMFͰ࢖͑Δ ίϚϯυ A+*B%&C#D%E FGHI914 JKLMN OPH195QR
  13. • FROM ϕʔεͱͳΔΠϝʔδΛࢦఆ͢Δ • RUN Ϗϧυ࣌ʹίϯςφ಺ͰίϚϯυΛ࣮ߦ͢Δ • ENV ,FZ7BMVFܗࣜͰ؀ڥม਺Λࢦఆ͢Δ •

    ADD, COPY Πϝʔδ಺΁ϑΝΠϧΛίϐʔ͢Δ ˠ<ϦϯΫ>"%%ͱ$01:جຊ͸$01:Λ࢖͏ • CMD, ENTRYPOINT ίϯςφىಈ࣌ʹ࣮ߦ͢ΔίϚϯυ΍Ҿ਺Λ ͋ ࢦఆ͢Δ ˠ<ϦϯΫ>$.%ͱ&/53:10*/5ͷ૊Έ߹Θͤ  جຊతͳ%PDLFSGJMFͷίϚϯυ
  14. • LABEL • EXPOSE • VOLUME • USER • WORKDIR

    • ARG • ONBUILD • STOPSIGNAL • HEALTHCHECK • SHELL  ͦͷଞͷ%PDLFSGJMFͷίϚϯυ STNUVW XYZ[Z>@
  15.  Α͘࢖͏ίϯςφͷૢ࡞ ίϯςφΛҰཡදࣔ͢Δ docker ps ࣮ߦ த ఀࢭ த ίϯςφΛఀࢭ͢Δ

    docker stop ίϯςφΛىಈ͢Δ docker start ࣮ߦதͷίϯςφ಺ͰίϚϯυΛ࣮ߦ͢Δ docker exec ίϯ ςφ ࣮ߦதͷίϯςφ಺ͷϩάΛग़ྗ͢Δ docker logs ίϯςφΛ࡟আ͢Δ docker rm ର৅͸ఀࢭதͷίϯςφɻ ಈ͍͍ͯΔ΋ͷΛࢭΊΔ࣌͸ GΦϓγϣϯΛ͚ͭΔ ͪΐͬͱ͓ͨ͠ࢼ͠΍ ௐࠪʹ࢖͏͜ͱ͕ଟ͍ ର৅͸࣮ߦதͷίϯςφɻ ࢭ·͍ͬͯΔ΋ͷ΋ݟΔ࣌͸ BΦϓγϣϯΛ͚ͭΔ
  16.  ΞϓϦέʔγϣϯͷίϯςφԽ • ݴޠ΍ϑϨʔϜϫʔΫʹΑͬͯ΍Γํ͸ͦΕͧΕ͕ͩɺࢿྉ͸ ͨ͘͞Μ͋ΔͷͰ ࠷ۙ͸ެࣜυΩϡϝϯτ΋๛෋ ࢀߟʹͯ͠ ࣮ݱͰ͖Δ • جຊతʹ͸࣍ͷ͍ͣΕ͔ͷํ਑Ͱ%PDLFSGJMFΛॻ͍͍ͯ͘

    • ιʔείʔυΛίϯςφʹίϐʔ͠ɺΠϝʔδͷϏϧυ࣌ʹΞϓϦ έʔγϣϯ΋Ϗϧυ͢Δ • Ϗϧυͨ͠ΞϓϦέʔγϣϯͷ࣮ߦϑΝΠϧΛίϯςφʹίϐʔ͢Δ
  17.  αϯϓϧΞϓϦέʔγϣϯ ࣮ߦ ϑΝΠϧ ιʔε ίʔυ \]2N0^_ `[a18N 8b0NW@ Ϗϧυ͢Δ

    HSBEMFX CPPU+BS ࣮ߦ͢Δ KBWBKBSBQQIBOETPOKBS ˞αϯϓϧͷίϯςφ಺Ͱ͸ KBWB KBSBQQKBS
  18.  αϯϓϧΞϓϦέʔγϣϯ ࣮ߦ ϑΝΠϧ ΞϓϦ༻ ίϯςφ ᶃίϐʔ ᶄίϯςφ಺Ͱ࣮ߦ %#༻ ίϯςφ

    ᶅσʔλ$36% ࠓճ͸औಘͷΈ ಉ͡ωοτϫʔΫ಺Ͱ ίϯςφΛσΟεΧόϦ Ͱ͖ΔΑ͏ʹ͢Δ
  19.  %PDLFSΠϝʔδ͸ ࡞ͬͨΒͪΌΜͱ؅ཧ͠Α͏ʂ

  20.  ϩʔΧϧϦϙδτϦʹอ؅ • ࡞੒ͨ͠Πϝʔδ͸ʮόΠφϦɾϦϙδτϦϚωʔδϟʔʯʹ อ؅͠ɺ͔ͦ͜ΒγΣΞ΍࠶ར༻Λ͢Δ • ಉ͡%PDLFSGJMFΛԿ౓΋Ϗϧυ͢ΔͷΛආ͚ ࣌ؒΛઅ໿Ͱ͖Δ • ඼࣭͕୲อ͞ΕͨΠϝʔδΛ࢖͍ճͤΔ

    औಘ͢Δ อ؅͢Δ %PDLFSΠϝʔδΛΞοϓϩʔυ͢Δ docker push
  21.  ϦϞʔτϦϙδτϦΛհͯ͠औಘ • औಘͨ͠Πϝʔδ΋ʮόΠφϦɾϦϙδτϦ Ϛωʔδϟʔʯʹอ؅͓ͯ͘͠ • Ωϟογϡͷ໾ׂΛՌͨ͢ • ߴ଎ʹऔಘͰ͖Δ •

    ֎෦ϦϙδτϦʹΞΫηε Ͱ͖ͳͯ͘΋औಘͰ͖Δ औಘͭͭ͠ อ؅͢Δ
  22.  όʔνϟϧϦϙδτϦ • ϩʔΧϧϦϙδτϦɾόʔνϟϧϦϙδτϦΛଋͶΔ • อ؅΋औಘ΋όʔνϟϧϦϙδτϦʹରͯ͠ૢ࡞͢Ε͹ྑ͍ ϩʔΧϧ ϦϞʔτ όʔνϟϧ c<dH/67

    ef=ge2hi j_klm[n
  23.  %PDLFS)VCͷΞΫηεճ਺੍ݶʹ஫ҙ • ແྉϢʔβʔ͸Πϝʔδͷऔಘճ਺ʹ্ݶ͕͋Δ • ະೝূͷ৔߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ແྉϢʔβʔͱͯ͠ೝূࡁΈͷ৔߹ɺ࣌ؒͰϦΫΤετ·Ͱ

  24.  %PDLFS)VCͷΞΫηεճ਺੍ݶʹ஫ҙ • ແྉϢʔβʔ͸Πϝʔδͷऔಘճ਺ʹ্ݶ͕͋Δ • ະೝূͷ৔߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ແྉϢʔβʔͱͯ͠ೝূࡁΈͷ৔߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ՝ۚ·ͨ͸+'SPH"SUJGBDUPSZ

    Ϋϥ΢υ൛ Λܦ༝͢Ε͹ɺ੍ݶ ͔Βղ์͞ΕΔʂ opWQIm `qrs WQI9
  25.  %PDLFS$PNQPTF • ෳ਺ͷίϯςφΛఆٛɾ࣮ߦ͢ΔͨΊͷπʔϧίϚϯυͰ ·ͱΊͯىಈɾఀࢭͰ͖Δ • :".- EPDLFSDPNQPTFZNM ͰઃఆΛॻ͖ίϯςφΛ؅ཧ͢Δ •

    %PDLFSGJMFͱ૊Έ߹ΘͤͯϏϧυΛߦ͏͜ͱ΋ɺΠϝʔδ͚ͩ ར༻͢Δ͜ͱ΋Ͱ͖Δ • %PDLFSGJMFʹهࡌͨ͠ઃఆΛ্ॻ͖͢Δ͜ͱ΋Ͱ͖Δ • ઃఆϑΝΠϧ্ͷίϯςφ͕ࢀՃ͢ΔωοτϫʔΫΛઃఆ͢Δ
  26.  ͖ͬ͞΍ͬͨ͜ͱ ͓͞Β͍ ࣮ߦ ϑΝΠϧ ΞϓϦ༻ ίϯςφ ᶃίϐʔ ᶄίϯςφ಺Ͱ࣮ߦ %#༻

    ίϯςφ ᶅσʔλ$36% ࠓճ͸औಘͷΈ ಉ͡ωοτϫʔΫ಺Ͱ ίϯςφΛσΟεΧόϦ Ͱ͖ΔΑ͏ʹ͢Δ
  27.  ࠓ͔Β΍Δ͜ͱ̍ ΞϓϦ༻ ίϯςφ %#༻ ίϯςφ ᶅσʔλ$36% ࠓճ͸औಘͷΈ ᶄίϚϯυͰॱ൪ʹ ىಈ͢Δ

    ಉҰωοτϫʔΫͱͳΔ ᶃΠϝʔδऔಘ
  28.  ࠓ͔Β΍Δ͜ͱ̎ ΞϓϦ༻ ίϯςφ %#༻ ίϯςφ ᶅσʔλ$36% ࠓճ͸औಘͷΈ ᶄίϚϯυͰॱ൪ʹ ىಈ͢Δ

    ಉҰωοτϫʔΫͱͳΔ ᶃΠϝʔδऔಘ EJS EJS Ϛ΢ϯτ ࣮ߦ ϑΝΠϧ
  29.  ิ଍৘ใ

  30.  %PDLFS%FTLUPQ͕༗ྉԽʁ • %PDLFSGPS.BD8JOEPXT͕ର৅ • ·Ͱ੾Γସ͑ͷ༛༧͋Γ • ݄υϧʮ1SPʯ υϧʮ5FBNʯ υϧʮ#VTJOFTTʯͷϓϥϯ

    • ໊ະຬ͔ͭച্ສυϧະຬͷ ૊৫ɺݸਓར༻ɺ044ϓϩδΣΫτ͸ ແྉͷ··