Slide 1

Slide 1 text

# ΏΔ͍docker-composeͰ
 ϓϩμΫγϣϯ؀ڥΛӡ༻ͨ͠ΔͰͬ!

Slide 2

Slide 2 text

## ಥવͰ͕͢docker࢖ͬͯ·͔͢?? ๻͸ຖ೔࢖ͬͯ·͢^^

Slide 3

Slide 3 text

## ͬͱͦͷલʹࣗݾ঺հ • ੢ଜ ୓ඒ (@takumiio) • ࣗশ;Δͨͬ͑͘͢Μ͡ʹ͋ • ൒೥લʹגࣜձࣾLESTAS(http://lestas.jp/)
 (چձ໊ࣾ:໊ೖΕ੡࡞ॴ)ʹδϣΠϯ • takumi.io΋ӡӦͯ͠·͢ • ΊͬͪΌۓு͍ͯ͠·͢ɻ
 ॳΊͯͷొஃ&౾෗ϝϯλϧͳͷͰੜ ஆ͘ݟकͬͯ΍͍ͬͯͩ͘͞…

Slide 4

Slide 4 text

## docker-compose
 ศརͰ͢ΑͶ

Slide 5

Slide 5 text

## docker-composeͷศརͳͱ͜Ζ • docker-compose.yml༻ҙ͢Δ͚ͩͰ·Δ͝ͱ ؀ڥ༻ҙ • طଘͷ؀ڥʹӨڹ͞Εͳ͍ͷͰϓϩδΣΫτϝ ϯόʔશһͷ։ൃ؀ڥߏங΋ͱͬͯ΋؆୯

Slide 6

Slide 6 text

## Ͱ΋…ࡢࠓͷϓϩμΫγϣϯͷ
 ؀ڥ͸ͱ͍͏ͱ…

Slide 7

Slide 7 text

• ʮ͏ͪ͸capistorano͔ͭͬͯΔʯ • ʮखಈ(·ͨ͸ϦϞʔτ)Ͱgit pullʯ • ʮ͋͊͊͊Δ͌͌͌͢Μ͎͎͎͘ (rsync)ʯ • ʮFTPͰ͢(ŝžŕ)ʯ ※Սۭͷ࿩Ͱ͕͢શͯܦݧͯ͠·͢

Slide 8

Slide 8 text

## ։ൃͰdocker࢖ͬͯͯ΋
 ϓϩμΫγϣϯͰ࢖ͬͯͳ͍ͬ!!

Slide 9

Slide 9 text

## ϓϩμΫγϣϯͰ࢖͑ͳ͍ཧ༝ྫ • ϓϩμΫγϣϯ΁ͷಋೖෑډ͕ߴ͍ • Kubernetesͱ͔ผ్ίϯςφ΍Ϋϥ΢υͷ஌ࣝඞཁͱ͔ • ϓϩμΫγϣϯ༻ͷίϯςφΠϝʔδ
 (௨শΰʔϧσϯΠϝʔδ)͕༻ҙͰ͖ͳ͍ • Θ͔ΔɻΊΜͲ͍͘͞ΑͶɻ • uptime͕1000day௒͔͑ͨΒdockerೖΕͯ࠶ىಈͨ͘͠ͳ͍ • ஌ΒΜ͕n Ͱ΋ͦͷ؀ڥΛ࠶ىಈ͢Δͷ͕ා͍ͬͯؾ࣋ͪ͸Θ͔Γ· ͢

Slide 10

Slide 10 text

͝ఏҊ͕͋Γ·ͬ͢!!

Slide 11

Slide 11 text

͍ͬͦͷ͜ͱ
 ΏΔ͍docker-compose
 Ͱӡ༻ͯ͠Έ·͠ΐ͏!!

Slide 12

Slide 12 text

## ΏΔ͍docker-composeͱ͸ • ։ൃͰ࢖ͬͯΔdocker-composeΛͪΐͬ͜ͱฤूͯ͠
 ϓϩμΫγϣϯ΁ • ׬શͳΰʔϧσϯΠϝʔδͷ࡞੒Λ໨ࢦ͞ͳ͍ 
 (ϘϦϡʔϜ͔ͭͬͯ΋͍͍͠ɺίϯςφͷαΠζ΋ؾʹ͠ͳ͍ͬ) • ͦͷ͔ΘΓগʑͷμ΢ϯλΠϜΛڐ༰
 (޻෉͍ͩ͠Ͱ͍͔Α͏ʹͰ΋ΧόʔͰ͖ΔΑ) • docker-compose.yml͚ͩͰ׬݁
 (΋ͪΖΜDockerfile࡞Γ͍ͨͳΒ࡞ͬͯ΋OKΑὑ)

Slide 13

Slide 13 text

## ϝϦοτ

Slide 14

Slide 14 text

## ϝϦοτ • ։ൃ؀ڥͷ؀ڥΛϓϩμΫγϣϯʹͦͷ··υΥϯͱߏஙͰ͖Δ • γϯϓϧ
 docker-compose up -d Ͱࠓ೔͔Β͋ͳͨ΋ϓϩμΫγϣϯ • ಥવͷࢮ͘Β͍ͳΒ෮چͰ͖Δ!! ͔΋… (restart: always) • όʔδϣϯμ΢ϯ΋؆୯!!
 (image: foo:0.0.2 -> foo:0.0.1 ͚ͩͰΦοέʔ! 
 ϘϦϡʔϜ࢖ͬͯΔͳΒ git checkout ͰOK!!) • ςδϡϯγϣ??docker-compose.ymlݟ͍ͯͩ͘͞

Slide 15

Slide 15 text

## σϝϦοτ

Slide 16

Slide 16 text

## σϝϦοτ • KubernetesͳͲͷΨν੎πʔϧͱൺ΂Δͱශऑ • େ͖ͳίϯςφͩͱॏ͘ͳͬͨΓಥવͷࢮͷ্ཱ͕͕֬Δ • μ΢ϯλΠϜ͕ൃੜ͠΍͍͢ • ίϯςφͷࢮ = αʔϏεఀࢭ • ෳ਺ͷϗετΛލ͙ͳͲ
 ෳࡶͳ͜ͱΛ͠Α͏ͱ͢Δͱ٧Ή…͔΋͠Εͳ͍

Slide 17

Slide 17 text

## Ͱ΋େৎ෉ͩͲΜ!! σϝϦοτ͸޻෉࣍ୈͰ͋Δఔ౓૬ࡴͰ͖ΔͲΜ!!

Slide 18

Slide 18 text

## ޻෉ྫ • μ΢ϯλΠϜରࡦ • CDN with ΩϟογϡͰΈ͔͚ͷμ΢ϯλΠϜΛ཈੍ • docker-compose down ͢Δલʹ docker-compose pull ͠ͱ͘ • ಥવͷࢮରࡦ • Քಈͤ͞ΔαʔόͷεϖοΫΛ্͓͛ͯ͘ • සൟʹμ΢ϯ͢ΔΑ͏ͳΒίϯςφΠϝʔδͷόʔδϣϯΛ
 ࠷ޙʹ҆ఆՔಈ͍ͯͨ͠όʔδϣϯʹμ΢ϯάϨʔυ͢Δ

Slide 19

Slide 19 text

## ͔͠΋σϝϦοτΛ৐Γӽ͑ͯ
 ্ڃऀͳΔͱ͞ΒͳΔϝϦοτ͕ಘΒΕΔ!! • CIπʔϧʹίϯςφ৯ΘͤͯDevOps!! • docker-composer͚ͩͰ͸Ͱ͖ͳ͔ͬͨ
 k8s with GCPͳͲͰεέʔϧ΋෮چ΋
 ΦʔτϚςΟοΫʹ!! • ͪͳΈʹ๻͸AWS೿Ͱ͢ɻ

Slide 20

Slide 20 text

## ӡ༻ྫ

Slide 21

Slide 21 text

## Θ͍ͷձࣾͰࠓ࡞ͬͯΔ
 ೥լঢ়αʔϏεͷϓϩμΫτ(໊લ͸·ͩͳ͍…) • ݱࡏࣾ಺ϨϏϡʔͷεςʔδɻ
 ຖ೔σϓϩΠͰਐḿਐΉ͔Β্࢘΍ϝϯόʔ΋ʹͬ͜Γ΍Ͱ!! • ΋ͪΖΜϦϦʔε΋࠷ॳ͸docker-composeͰ͍͘Ͱͬ!! • ෛՙ͕ߴ͘ͳΔ͜ΖʹΠϯϑϥΤϯδχΞʹؙ౤͛ͯ͠
 k8s with GCPʹҠߦ΍!! • 10݄ϦϦʔε΍͔ΒΈΜͳൃ஫ͯ͠΍ͬ!!

Slide 22

Slide 22 text

takumi.io • ݸਓϒϩά݉ϙʔτϑΥϦΦ݅ࣗݾຬ଍༻ͳͷͰམͪͯ΋ ໰୊ͳ͠ • ssh takumi.io 'docker-compose up --build -d' 
 ͰσϓϩΠ׬ྃͱ͔εςΩ΍Μ • t3.nanoͰӡ༻ͯ͠Δ͚ͲΠϥϯ͜ͱͨ࣌͠
 (σϓϩΠͱ͔σϓϩΠͱ͔σϓϩΠͱ͔)
 Ҏ֎͸ࠓͷͱ͜Ζ҆ఆՔಈ

Slide 23

Slide 23 text

## ·ͱΊ

Slide 24

Slide 24 text

## ·ͱΊ • ͔ͤͬ͘։ൃ؀ڥʹdocker-compose͍Εͯ࢖ͬͯΔͳΒ
 ϓϩμΫγϣϯ΋docker࢖Θͳ͍ͱ΋͍ͬͨͳ͍ͬ • αʔϏεμ΢ϯͯ͠΋ࠔΔͻͱ͕͍ͳ͍ΞʔϦεςʔδʹ ͱͬͯ΋࠷ద • σϓϩΠ͕ͨͷ͍ͬ͠!!

Slide 25

Slide 25 text

ϢʔβʹϓϩμΫτΛݟͤΕͯ
 ͸͡ΊͯՁ஋ΛఏڙͰ͖Δͱࢥ͏ͷͰ ͦͷεϐʔυ͕࠷଎ʹͳΔͨΊͷ
 ͓ख఻͍ʹͳΕ͹͍͍ͳ͊ͱࢥ͍
 ͓࿩͍͖ͤͯͨͩ͞·ͨ͠ɻ

Slide 26

Slide 26 text

͖ΐɺࠓ೔ͷεϥΠυ͸ޙͰͪΌΜͱڞ༗͢ΔΜ͔ͩΒͶͬ!! ͔ɺצҧ͍͠ͳ͍ͰΑͶͬ!!΂ɺ΂ͭʹ͋ΜͨͨͪͷͨΊͳΜ͔͡Όͳ͍Μ͔ͩΒͶͬ!! dockerͷීٴͷͨΊΑͬ!! >< “## ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠”

Slide 27

Slide 27 text

࣭͝໰ͳͲ͋Γ·ͨ͠ΒͲ͏ͧ!!