Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ίϯςφΛงғؾͰಈ͔͞ͳ͍ 1)1ΧϯϑΝϨϯεԬલࡇϦδΣΫτίϯ *OOPWBUPS+BQBO*OD ॴ྄ &OHJOFFS
Slide 2
Slide 2 text
ͬͦ͘͞Ͱ͕͢
Slide 3
Slide 3 text
ίϯςφΛงғؾͰͬͯ·ͤΜ͔ʁ
Slide 4
Slide 4 text
DockerΛͬͨ։ൃ ίϯςφͷৄࡉΒͳͯ͘ग़དྷΔ
Slide 5
Slide 5 text
ڥߏங docker-compose.yml
Slide 6
Slide 6 text
docker-compose up -d ։ൃڥߏங͕Ұॠ…
Slide 7
Slide 7 text
docker-compose down ࠔͬͨΒ্ཱͪ͛͠ docker-compose up -d
Slide 8
Slide 8 text
͜ͷ··ͰΞϗʹͳΔʂ ຊΛಡΜͰίϯςφʹೖͩ
Slide 9
Slide 9 text
ίϯςφԾԽɺαʔόʔԾԽͰͳ͍ɻ Α͋͘Δίϯςφೖॻͷಋೖ෦
Slide 10
Slide 10 text
ผʹαʔόʔԾԽͷ͜ͱʹৄ͘͠ͳΓ͍ͨΘ ͚Ͱͳ͍ͷ͕ͩ…
Slide 11
Slide 11 text
ίϯςφͱΧʔωϧͷఏڙ͢ΔػೳʹΑͬͯ ࣮ߦڥ͕͞ΕͨͦΕͧΕͷϢʔβۭؒͷ ͜ͱͰ͋Δɻ -> ͜͏͍͏આ໌͚ͩͩͱϐϯͱ͜ͳ͍ Α͋͘Δίϯςφೖॻͷಋೖ෦
Slide 12
Slide 12 text
݁ہɺίϯςφ͕Α͔͘Βͳ͍
Slide 13
Slide 13 text
ਅ໘ͳ શһ͕ৄࡉΛ͠Βͳͯ͘ଟ͍͍ நతʹѻ͑ΔͳΒͦΕ͍͍
Slide 14
Slide 14 text
ͰɺࢲΓ͍ͨ Ͳ͏ͳ͍ͬͯΔͷ͔ཧղ͍ͨ͠
Slide 15
Slide 15 text
ͦ͜ͰࣗͳΓʹௐͨ
Slide 16
Slide 16 text
chroot 1979 ~ unshare 2.14~ nsenter 2.6.24~ cgroups 2.6.24~ ԶௐʹΑΔίϯςφͷਖ਼ମ ※LinuxͷίϚϯυͰ͢ɻ
Slide 17
Slide 17 text
Ҏ্Ͱ͢… ͱ͍͏ͷڐ͞Εͳ͍ͱࢥ͏ͷͰɻ ྫΛަ͑ͯɺͳΔ͘ฏқʹઆ໌͠·͢ɻ
Slide 18
Slide 18 text
ྫ͑ɺ `alpine linux` ίϯςφ tarͷதʢൈਮ)
Slide 19
Slide 19 text
ͯ͞ɺ͜Ε͕Ͳ͏ͬͯಈ͘ͷ͔ʁ
Slide 20
Slide 20 text
chroot ͍͖ͳΓίϯςφ
Slide 21
Slide 21 text
ͨͩ͠ɺ͜Ε͚ͩͩͱ͕ෆे ↑ϗετͷϓϩηεΛpkillͰ͖ͪΌ͏
Slide 22
Slide 22 text
unshare namespaceΛ࡞ͯ͠ɺϓϩηεΛ
Slide 23
Slide 23 text
cgroups /sys/fs/cgroupԼͰઃఆΛݟΕΔ ϓϩηεάϧʔϓͷϦιʔεར༻Λִɾ੍ݶ
Slide 24
Slide 24 text
unshare͞ΕͨϓϩηεʹೖΕΔ `name space enter` `docker exec` ͱ͔ʹΘΕ͍ͯΔͱࢥ͏ nsenter
Slide 25
Slide 25 text
ίϯςφΛ࣮ݱ͢Δ4ίϚϯυ جຊ chroot ϓϩηεΛ unshare Ͱ ϦιʔεΛ cgroup Ͱ nsenter Ͱͨ͠ϓϩηεʹ৵ೖ
Slide 26
Slide 26 text
جຊ chroot Linux͔ΒɺLinuxͰ࣮ߦՄೳͳϑΝΠϧΛ࣮ߦ
Slide 27
Slide 27 text
྆ํLinux͔ͩΒ࣮ߦͰ͖Δ LinuxΧʔωϧͷABI Application Binary Interface ݫ֨ͳޙํޓੑ
Slide 28
Slide 28 text
Ұݟ alpinelinux ͕ԾOSͷΑ͏ʹݟ͑Δ ࣮ଶϓϩηε࣮ߦ
Slide 29
Slide 29 text
ɹchrootdocker ࣮ߦ࣌ʹɺඞͣίϚϯυΛࢦఆ docker run -it alpine:latest sh ͦ͏͍͏͜ͱͩͬͨͷ͔…
Slide 30
Slide 30 text
ίϯςφग़ͨͯͷ͜Ζ ୡਓ͕͓ͨͪͬ͠Όͬͯ·ͨ͠ɻ ʮίϯςφͬͯ chrootͩΑͶʯͱ Α͏͘…ҙຯΛཧղͰ͖·ͨ͠
Slide 31
Slide 31 text
͔͠͠ɺผͷ͕༙͍ٙͯ͘Δ
Slide 32
Slide 32 text
Docker For Mac ʁ Docker For Windows ? MacɺWindowsLinux͡Όͳ͍ ͳΜͰ Dockerಈ͘ͷʁ
Slide 33
Slide 33 text
Docker for Mac Windowsͷ߹ಉ༷ LinuxKitͱ͍͏ίϯςφ༻Linux্Ͱಈ࡞
Slide 34
Slide 34 text
ྫ͑ MacͷClangͰ HelloWorldͷ࣮ߦϑΝΠϧΛ࡞ Linuxίϯςφ্Ͱ࣮ߦ -> ಈ͔ͳ͍ɻ Linux͡Όͳ͍͔Βɻ
Slide 35
Slide 35 text
UbuntuͰ HelloWorldͷ࣮ߦϑΝΠϧΛ࡞ DockerͰ࣮ߦ -> ಈ͘
Slide 36
Slide 36 text
Linux -> Linuxͷ࣮ߦՄೳϑΝΠϧ -> ಈ͘ Linux -> OSXͷ࣮ߦՄೳϑΝΠϧ -> ಈ͔ͳ͍ ཧ۶୯७
Slide 37
Slide 37 text
LXCͱ͔LibContainerͱ͔runCͱ͔ Containerdͱ͔৭ʑมΘ͍ͬͯͬͯΔ͕ جຊมΘΒͳ͍ɻ
Slide 38
Slide 38 text
͜͜·ͰΛཧղ͢Ε DockerͰಈ࡞͢Δ Windowsίϯςφ͕ແ͍ཧ༝ OSXίϯςφ͕ແ͍ཧ༝ શʹ͔Γ·͢ΑͶʁ
Slide 39
Slide 39 text
ίϯςφ Linux ͔Β Linuxͷ࣮ߦՄೳϑΝΠϧΛಈ͔ٕ͢ज़͔ͩΒ
Slide 40
Slide 40 text
͕࣌ؒ༨ͬͯͨΒDEMO
Slide 41
Slide 41 text
Ҏ্ɺ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ