Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コンテナをGoで作る
Search
sasaki
October 24, 2019
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンテナをGoで作る
sasaki
October 24, 2019
More Decks by sasaki
See All by sasaki
Goを活用したサービス開発・運用の話
kuwabarakuwabara
1
1.8k
Other Decks in Programming
See All in Programming
What's New in Android 2026
veronikapj
0
210
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
2
110
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.4k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
280
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
初めてのKubernetes 本番運用でハマった話
oku053
0
130
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
1
330
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
190
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.6k
Android CLI
fornewid
0
190
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Fireside Chat
paigeccino
42
4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
420
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Site-Speed That Sticks
csswizardry
13
1.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Transcript
ίϯςφΛ(PͰ࡞Δ ࠤʑউय़ %FTJHO0OF(P
ࣗݾհ w ໊લɿࠤʑউय़ w ձࣾɿ߹ಉձࣾ%..DPN w ۀɿࣗࣾͷγεςϜΛ(PͰ։ൃͯ͠·͢ɻ·ͨɺΠϯ ϑϥ "84 ϑϩϯτ
3FBDU ͬͯ·͢ w ͖ͳͷɿམޠ ཱྲྀ ɺֆ
ࠓճ͓͢͠Δ͜ͱ (PͰίϯςφΛ࡞Δ
͜ͷςʔϚʹͨ͠ཧ༝ ίϯϐϡʔλαΠΤϯεΛࠓҰ͖ͪΜͱཧղ͔ͨͬͨͨ͠ Ί ۀͰίϯςφΛར༻ https://inside.dmm.com/entry/2019/03/28/review-go-test
ԾԽͱ w ϋʔυΣΞͱ04ͷؒʹͭͷ४04ΛೖΕΔ͜ͱͰҰ ͷϋʔυΣΞ্ʹෳͷ04γεςϜΛ҆શʹ͏ͨ Ίͷٕज़ 04Λಠཱͯ͠ѻ͏
ίϯςφͱ w ϗετͷ04ͷΧʔωϧΛڞ༗͍ͯͭͭ͠ɺΞϓϦέʔ γϣϯ͔Βݟͯಠཱͨ͠04Λ࣮ݱ͢Δٕज़
MJCDPOUBJOFSͰίϯςφ࡞ w %PDLFSͷίΞͱͯ͠(PͰॻ͔Ε͍ͯΔϥΠϒϥϦ IUUQTHJUIVCDPNPQFODPOUBJOFSTSVODUSFF NBTUFSMJCDPOUBJOFS
ίʔυৄࡉᶃ w ίϯςφͷੜͱJOUϓϩηεͷىಈͱ͍͏ͭͷ͜ͱΛ ͭͷϑΝΠϧͰ࣮ߦ͢ΔͨΊJOJU ؔΛఆٛ w ίϯςφΛ࡞͢ΔͨΊʹॳظԽͷઃఆ 4UBSU*OJUJBMJ[BUJPOͷύΠ ϓGEΛ։͘͜ͱͰΛίϯςφ Λϩʔυ
https://github.com/opencontainers/runc/blob/ master/libcontainer/factory_linux.go#L282
ίʔυৄࡉᶄ w ੜ͢Δίϯςφ ͷઃఆ /BNFTQBDFT $HSPVQTͳͲ ˞ߏମ$POpHͷ3PPUGϑΟʔϧυʹରͯ͠ɺίϯςφͰ৽͠ ͍ڥΛىಈ͢ΔͨΊʹඞཁͳϑΝΠϧγεςϜΛࢦఆ͢Δඞཁ ͕͋Γ·͢ɻ
ίϯςφϗετͷΧʔωϧΛڞ༗ͯ͠ར༻͢ΔͷͰσΟετϦ ϏϡʔγϣϯෆཁͰ͕͢ɺJOJUϓϩηεҎ߱ͷڥ͕ඞཁͳͨΊ Ͱ͢ɻࠓճEPDLFSJNBHFͷBMQJOFʹؚ·Ε͍ͯΔϑΝΠϧΛར ༻͠·ͨ͠
ίʔυৄࡉᶅ ίϯςφΛੜ IUUQTHJUIVCDPNPQFODPOUBJOFSTSVODCMPCNBTUFSMJCDPOUBJOFSGBDUPSZ@MJOVYHP- ॳظϓϩηεͱͯ͠CBTIΛੜ
ίϯςφʹϩάΠϯ ˞͜ͷϥΠϒϥϦ͕04YͰಈ͔ͤͳ͔ͬͨͷͰɺϩʔΧϧڥঢ়ʹ%PDLFSͰMJOVYίϯςφΛ্ཱͪ͛ͯɺ ͦͷதͰࣗ࡞ͷίϯςφΛੜ͢ΔΑ͏ʹ͍ͯ͠·͢ ຊసɻɻ ੜͨ͠ίϯςφʹϩάΠϯ
ֶͼ w HPΛͬͯίϯςφΛ࡞Δ͜ͱ͕Ͱ͖Δ͜ͱ͕͔ͬͨ w MJCDPOUBJOFSͷιʔεΛ͏͜ͱͰɺ04ϨϕϧͳͲΞϓ ϦέʔγϣϯϨΠϠʔΑΓԼͷॲཧΛͲͷΑ͏ʹ੍ޚͯ͠ ίϯςφΛੜ͠ɺ࣮ߦ͍ͯ͠Δ͔ΛֶͿ͜ͱ͕Ͱ͖ͨ https://golang.org/pkg/os/#Chown
ࢀߟࢿྉ w MJCDPOUBJOFS IUUQTHJUIVCDPNPQFODPOUBJOFSTSVODUSFFNBTUFSMJCDPOUBJOFS w 1PFLͱ(PMECFSHͷԾԽٕज़ IUUQTZVCFTTZIBUFOBCMPHDPNFOUSZ w %PDLFSͱ-9$ IUUQTRJJUBDPN4VSHPJUFNTBEDFBGCBE
w %PDLFS IUUQTXXXEPDLFSDPN w (PݴޠʹΑΔϓϩάϥϚʔࢹͷγεςϜϓϩάϥϛϯά(Pݴޠͱίϯςφ IUUQTBTDJJKQFMFN w ίϯςφϥϯλΠϜͷಈΛཧͯ͠Έͨ݅ IUUQTRJJUBDPNNBNPNBNPJUFNTFEECBCGB
͝੩ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠