社内勉強会用
Why Docker ?@atty303
View Slide
ͳͥ Docker(ίϯςφ)ͳͷ͔?
ܭࢉϦιʔεར༻ͷ࠷దԽ
…ͷಓΛΓ։͘ͷ
Docker ొͷഎܠ4 Docker dotCloud ͱ͍͏ PaaS ϓϩόΠμʔ͕ࣗࣾϓϥοτϑΥʔϜΛΦʔϓϯιʔεԽͨ͠ͷ4 PaaS ϓϩόΠμʔʹͱͬͯϦιʔεར༻ͷ࠷దԽརӹʹ݁͢Δ4 Google Docker Ͱͳ͍͕શͯͷαʔϏεΛίϯςφ(Borg)Ͱಈ͔͍ͯ͠Δ4 େͳϦιʔεͷ࠷దԽڝ૪ྗͷݯઘ
ԾϚγϯͱίϯςφ4 ԾϚγϯͰཻ͕େ͖͍4 ίϯςφϓϩηεཻ4 ੜͷ Linux ϓϩηεͰڥͷִ͕ෆे4 chroot cgroup ͳͲ…4 ϓϩηεͷΑ͏ʹܰྔͰԾϚγϯͷΑ͏ʹಠཱ͍ͯ͠Δͷ͕ίϯςφ
࠷దԽؔ࿈4 ίϯςφεέδϡʔϦϯά4 Docker Swarm4 Google Kubernetes4 Apache Mesos4 HashiCorp Nomad4 Datacenter as a Computer4 ϗετ୯ҐͰߟ͑ΔͷͰͳ͘ɺෳͷϗετΛ1ͭͷڊେͳίϯϐϡʔλͱΈͳ͢
ΞϓϦέʔγϣϯͷཻ
ैདྷ
Docker
ΞϓϦέʔγϣϯࢹ4 ΞϓϦ͕ґଘ͢ΔશͯͷϥϯλΠϜΛಉࠝͰ͖Δ4 ϗετϚγϯͷঢ়ଶΛߟ͑ͳͯ͘ྑ͍ͷͰ͖ͳΑ͏ʹίϯςφʹΠϯετʔϧͰ͖Δ4 ίϯςφͷϏϧυৗʹಉ͡ঢ়ଶ͔Βελʔτ͠લఏ݅ΛݻఆͰ͖ΔͷͰ Chef ͷΑ͏ͳঢ়ଶཧ͕ෆཁʹͳΔ4 γΣϧεΫϦϓτͰγϯϓϧʹΠϯετʔϧ4 Ϗϧυͨ͠ίϯςφͲ͜Ͱಈ͔͢͜ͱ͕Ͱ͖Δ4 ϩʔΧϧɺCIڥɺຊ൪ڥ…
ϗετࢹ4 ϗετϚγϯ Docker daemon ͚ͩಈ͔͓͚ͯ͠શͯͷΞϓϦ͕ಈ͘4 ͨͩ͠ίϯςφεέδϡʔϦϯάͱ͍͏৽͍͠՝͕ൃੜ͢Δ4 ϗετΛϩʔϧผʹ Chef ͳͲͰཧ͢Δඞཁ͕ແ͘ͳΔ4 Ή͠Ζϗετ OS ͕ݶΓͳ͘ബͯ͘ྑ͍ → CoreOS
·ͱΊ
Docker Ͱ͍͠ͱ͜Ζ4 ίϯςφεέδϡʔϦϯά4 σʔλ(ϘϦϡʔϜ)ӬଓԽ4 ΦʔέετϨʔγϣϯ4 ίϯςφ୯ମΛಈ͔͢ͷ؆୯ɺίϯςφಉ࢜Λڠௐͤ͞Δͷ͕͍͠
Docker Λ͏͖Ͱͳ͍ͱ͖4 ·ΘΓʹࣝऀ͕ډͳ͍ɺ͔ͭࣗྗͰؤுΔؾྗ͕ͳ͍ͱ͖4 PaaS (EBS, AppEngine, Heroku) ͰࣄΓΔͱ͖
ݸਓతͳײࠓ·Ͱ Docker Λར༻͢ΔϝϦοτΑΓֶशɾӡ༻ίετͷ΄͏͕ॏ͔ͬͨҹͰ͕͢ɺDocker ͷόʔδϣϯΞοϓΤίγεςϜͷॆ࣮ʹΑΓόϥϯε͕औΕΔΑ͏ʹͳ͍ͬͯΔͱࢥ͍·͢ɻ·ͩίετͷ΄͏͕ॏ͍͔͠Ε·ͤΜ͕ɺઌߦࢿͱࢥͬͯಋೖͯ͠ΈͯΑ͍ͷͰͳ͍Ͱ͠ΐ͏͔ɻ