Slide 1

Slide 1 text

ίϯςφΛ(PͰ࡞Δ ࠤʑ໦উय़ %FTJHO0OF(P

Slide 2

Slide 2 text

ࣗݾ঺հ w ໊લɿࠤʑ໦উय़ w ձࣾɿ߹ಉձࣾ%..DPN w ۀ຿ɿࣗࣾͷγεςϜΛ(PͰ։ൃͯ͠·͢ɻ·ͨɺΠϯ ϑϥ "84 ΍ϑϩϯτ 3FBDU ΋΍ͬͯ·͢ w ޷͖ͳ΋ͷɿམޠ ཱ઒ྲྀ ɺֆ

Slide 3

Slide 3 text

ࠓճ͓࿩͢͠Δ͜ͱ (PͰίϯςφΛ࡞Δ

Slide 4

Slide 4 text

͜ͷςʔϚʹͨ͠ཧ༝ ίϯϐϡʔλαΠΤϯεΛࠓҰ౓͖ͪΜͱཧղ͔ͨͬͨͨ͠ Ί ۀ຿Ͱ΋ίϯςφΛར༻ https://inside.dmm.com/entry/2019/03/28/review-go-test

Slide 5

Slide 5 text

Ծ૝Խͱ͸ w ϋʔυ΢ΣΞͱ04ͷؒʹͭͷ४04ΛೖΕΔ͜ͱͰҰ୆ ͷϋʔυ΢ΣΞ্ʹෳ਺ͷ04΍γεςϜΛ҆શʹ࢖͏ͨ Ίͷٕज़ 04Λಠཱͯ͠ѻ͏

Slide 6

Slide 6 text

ίϯςφͱ͸ w ϗετͷ04ͷΧʔωϧΛڞ༗ͯ͠࢖͍ͭͭɺΞϓϦέʔ γϣϯ͔Βݟͯಠཱͨ͠04Λ࣮ݱ͢Δٕज़

Slide 7

Slide 7 text

MJCDPOUBJOFSͰίϯςφ࡞੒ w %PDLFSͷίΞͱͯ͠(PͰॻ͔Ε͍ͯΔϥΠϒϥϦ
 IUUQTHJUIVCDPNPQFODPOUBJOFSTSVODUSFF NBTUFSMJCDPOUBJOFS

Slide 8

Slide 8 text

ίʔυৄࡉᶃ w ίϯςφͷੜ੒ͱJOUϓϩηεͷىಈͱ͍͏ͭͷ͜ͱΛ ͭͷϑΝΠϧͰ࣮ߦ͢ΔͨΊJOJU ؔ਺Λఆٛ w ίϯςφΛ࡞੒͢ΔͨΊʹॳظԽͷઃఆ 4UBSU*OJUJBMJ[BUJPO਌ͷύΠ ϓGEΛ։͘͜ͱͰΛίϯςφ Λϩʔυ https://github.com/opencontainers/runc/blob/ master/libcontainer/factory_linux.go#L282

Slide 9

Slide 9 text

ίʔυৄࡉᶄ w ੜ੒͢Δίϯςφ
 ͷઃఆ
 
 /BNFTQBDFT΍
 $HSPVQTͳͲ ˞ߏ଄ମ$POpHͷ3PPUGϑΟʔϧυʹରͯ͠ɺίϯςφ಺Ͱ৽͠ ͍؀ڥΛىಈ͢ΔͨΊʹඞཁͳϑΝΠϧγεςϜΛࢦఆ͢Δඞཁ ͕͋Γ·͢ɻ ίϯςφ͸ϗετͷΧʔωϧΛڞ༗ͯ͠ར༻͢ΔͷͰσΟετϦ Ϗϡʔγϣϯ͸ෆཁͰ͕͢ɺJOJUϓϩηεҎ߱ͷ؀ڥ͕ඞཁͳͨΊ Ͱ͢ɻࠓճ͸EPDLFSJNBHFͷBMQJOFʹؚ·Ε͍ͯΔϑΝΠϧΛར ༻͠·ͨ͠

Slide 10

Slide 10 text

ίʔυৄࡉᶅ ίϯςφΛੜ੒
 IUUQTHJUIVCDPNPQFODPOUBJOFSTSVODCMPCNBTUFSMJCDPOUBJOFSGBDUPSZ@MJOVYHP- 
 ॳظϓϩηεͱͯ͠CBTIΛੜ੒

Slide 11

Slide 11 text

ίϯςφʹϩάΠϯ ˞͜ͷϥΠϒϥϦ͕04YͰಈ͔ͤͳ͔ͬͨͷͰɺϩʔΧϧ؀ڥঢ়ʹ%PDLFSͰMJOVYίϯςφΛ্ཱͪ͛ͯɺ ͦͷதͰࣗ࡞ͷίϯςφΛੜ੒͢ΔΑ͏ʹ͍ͯ͠·͢ ຊ຤స౗ɻɻ ੜ੒ͨ͠ίϯςφʹϩάΠϯ

Slide 12

Slide 12 text

ֶͼ w HPΛ࢖ͬͯίϯςφΛ࡞Δ͜ͱ͕Ͱ͖Δ͜ͱ͕෼͔ͬͨ w MJCDPOUBJOFSͷιʔεΛ௥͏͜ͱͰɺ04ϨϕϧͳͲΞϓ ϦέʔγϣϯϨΠϠʔΑΓԼͷॲཧΛͲͷΑ͏ʹ੍ޚͯ͠ ίϯςφΛੜ੒͠ɺ࣮ߦ͍ͯ͠Δ͔ΛֶͿ͜ͱ͕Ͱ͖ͨ https://golang.org/pkg/os/#Chown

Slide 13

Slide 13 text

ࢀߟࢿྉ w MJCDPOUBJOFS
 IUUQTHJUIVCDPNPQFODPOUBJOFSTSVODUSFFNBTUFSMJCDPOUBJOFS w 1PFLͱ(PMECFSHͷԾ૝Խٕज़
 IUUQTZVCFTTZIBUFOBCMPHDPNFOUSZ w %PDLFSͱ-9$
 IUUQTRJJUBDPN4VSHPJUFNTBEDFBGCBE w %PDLFS
 IUUQTXXXEPDLFSDPN w (PݴޠʹΑΔϓϩάϥϚʔࢹ఺ͷγεςϜϓϩάϥϛϯά(Pݴޠͱίϯςφ
 IUUQTBTDJJKQFMFN w ίϯςφϥϯλΠϜͷಈ޲Λ੔ཧͯ͠Έͨ݅
 IUUQTRJJUBDPNNBNPNBNPJUFNTFEECBCGB

Slide 14

Slide 14 text

͝੩ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠