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

Why Docker?

Why Docker?

社内勉強会用

AGAWA Koji

April 27, 2016
Tweet

More Decks by AGAWA Koji

Other Decks in Programming

Transcript

  1. Why Docker ? @atty303

  2. ͳͥ Docker(ίϯςφ)ͳͷ͔?

  3. ܭࢉϦιʔεར༻ͷ ࠷దԽ

  4. …΁ͷಓΛ੾Γ։͘΋ͷ

  5. Docker ొ৔ͷഎܠ 4 Docker ͸ dotCloud ͱ͍͏ PaaS ϓϩόΠμʔ͕ࣗࣾϓ ϥοτϑΥʔϜΛΦʔϓϯιʔεԽͨ͠΋ͷ

    4 PaaS ϓϩόΠμʔʹͱͬͯϦιʔεར༻ͷ࠷దԽ͸ར ӹʹ௚݁͢Δ 4 Google ΋ Docker Ͱ͸ͳ͍͕શͯͷαʔϏεΛίϯςφ (Borg)Ͱಈ͔͍ͯ͠Δ 4 ๲େͳϦιʔεͷ࠷దԽ͸ڝ૪ྗͷݯઘ
  6. Ծ૝Ϛγϯͱίϯςφ 4 Ծ૝ϚγϯͰ͸ཻ౓͕େ͖͍ 4 ίϯςφ͸ϓϩηεཻ౓ 4 ੜͷ Linux ϓϩηεͰ͸؀ڥͷִ཭͕ෆे෼ 4

    chroot ΍ cgroup ͳͲ… 4 ϓϩηεͷΑ͏ʹܰྔͰԾ૝ϚγϯͷΑ͏ʹಠཱ͍ͯ͠Δ ͷ͕ίϯςφ
  7. ࠷దԽؔ࿈ 4 ίϯςφεέδϡʔϦϯά 4 Docker Swarm 4 Google Kubernetes 4

    Apache Mesos 4 HashiCorp Nomad 4 Datacenter as a Computer 4 ϗετ୯ҐͰߟ͑ΔͷͰ͸ͳ͘ɺෳ਺ͷϗετΛ1ͭͷڊେͳίϯϐ ϡʔλͱΈͳ͢
  8. ΞϓϦέʔγϣϯͷཻ౓

  9. ैདྷ

  10. Docker

  11. ΞϓϦέʔγϣϯࢹ఺ 4 ΞϓϦ͕ґଘ͢ΔશͯͷϥϯλΠϜΛಉࠝͰ͖Δ 4 ϗετϚγϯͷঢ়ଶΛߟ͑ͳͯ͘ྑ͍ͷͰ޷͖ͳΑ͏ʹίϯςφ಺ ʹΠϯετʔϧͰ͖Δ 4 ίϯςφͷϏϧυ͸ৗʹಉ͡ঢ়ଶ͔Βελʔτ͠લఏ৚݅ΛݻఆͰ͖ ΔͷͰ Chef

    ͷΑ͏ͳঢ়ଶ؅ཧ͕ෆཁʹͳΔ 4 γΣϧεΫϦϓτͰγϯϓϧʹΠϯετʔϧ 4 Ϗϧυͨ͠ίϯςφ͸Ͳ͜Ͱ΋ಈ͔͢͜ͱ͕Ͱ͖Δ 4 ϩʔΧϧɺCI؀ڥɺຊ൪؀ڥ…
  12. ϗετࢹ఺ 4 ϗετϚγϯ͸ Docker daemon ͚ͩಈ͔͓͚ͯ͠͹શͯ ͷΞϓϦ͕ಈ͘ 4 ͨͩ͠ίϯςφεέδϡʔϦϯάͱ͍͏৽͍͠՝୊͕ൃ ੜ͢Δ

    4 ϗετΛϩʔϧผʹ Chef ͳͲͰ؅ཧ͢Δඞཁ͕ແ͘ͳΔ 4 Ή͠Ζϗετ OS ͕ݶΓͳ͘ബͯ͘ྑ͍ → CoreOS
  13. ·ͱΊ

  14. Docker Ͱ೉͍͠ͱ͜Ζ 4 ίϯςφεέδϡʔϦϯά 4 σʔλ(ϘϦϡʔϜ)ӬଓԽ 4 ΦʔέετϨʔγϣϯ 4 ίϯςφ୯ମΛಈ͔͢ͷ͸؆୯ɺίϯςφಉ࢜Λڠௐͤ͞

    Δͷ͕೉͍͠
  15. Docker Λ࢖͏΂͖Ͱͳ͍ͱ͖ 4 ·ΘΓʹࣝऀ͕ډͳ͍ɺ͔ͭࣗྗͰؤுΔؾྗ͕ͳ͍ͱ͖ 4 PaaS (EBS, AppEngine, Heroku) Ͱࣄ଍ΓΔͱ͖

  16. ݸਓతͳײ૝ ࠓ·Ͱ͸ Docker Λར༻͢ΔϝϦοτΑΓ ֶशɾӡ༻ίετͷ΄͏͕ॏ͔ͬͨҹ৅Ͱ͕͢ɺ Docker ͷόʔδϣϯΞοϓ΍ΤίγεςϜͷॆ࣮ʹΑΓ όϥϯε͕औΕΔΑ͏ʹͳ͍ͬͯΔͱࢥ͍·͢ɻ ·ͩίετͷ΄͏͕ॏ͍͔΋͠Ε·ͤΜ͕ɺ ઌߦ౤ࢿͱࢥͬͯಋೖͯ͠Έͯ΋Α͍ͷͰ͸ͳ͍Ͱ͠ΐ͏͔ɻ