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
Build Containers with Dockerfile Best Practicies
Search
Kohei Ota
May 13, 2019
Technology
10
110k
Build Containers with Dockerfile Best Practicies
Kohei Ota
May 13, 2019
Tweet
Share
More Decks by Kohei Ota
See All by Kohei Ota
CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
inductor
4
3k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
130
Cracking the KubeCon CfP
inductor
2
630
KubeCon Recap -Platform migration at Scale-
inductor
1
1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
540
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
28
6.4k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
870
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.3k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
22
6.5k
Other Decks in Technology
See All in Technology
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
360
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
240
生成AI時代のデータ基盤
shibuiwilliam
0
270
認知戦の理解と、市民としての対抗策
hogehuga
0
410
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
530
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
7
730
進捗
ydah
1
210
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
280
Postman MCP 関連機能アップデート / Postman MCP feature updates
yokawasa
1
220
帳票Vibe Coding
terurou
0
150
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
280
実運用で考える PGO
kworkdev
PRO
0
120
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
For a Future-Friendly Web
brad_frost
179
9.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Designing for humans not robots
tammielis
253
25k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
490
Raft: Consensus for Rubyists
vanstee
140
7.1k
Transcript
+BQBO$POUBJOFS%BZTͰ ࡞ͬͨެࣜσϞΞϓϦͷ %PDLFSpMFʹ͍ͭͯʢԾʣ !JOEVDUPS $POUBJOFS#VJME.FFUVQ
+BQBO$POUBJOFS%BZTͰ ࡞ͬͨެࣜσϞΞϓϦͷ %PDLFSpMFʹ͍ͭͯʢԾʣ !JOEVDUPS $POUBJOFS#VJME.FFUVQ
ࠓͦΜͳʢ΄΅ʣ Ұ͠ͳ͍Ͱ͢
ϕετϓϥΫςΟεʹԊͬͯɺ %PDLFSpMFͷՄಡੑͱ ΩϟογϡɺΠϝʔδͷαΠζͷ ઓུʹ͍ͭͯߟ͑ͯΈͨ !JOEVDUPS $POUBJOFS#VJME.FFUVQ
ࣗݾհ w JOEVDUPS w %PDLFS.FFUVQ5PLZP0SHBOJ[FS w %PDLFSpMFͱӳޠ͕͖ w
কདྷͷເ೦͚ͨͩ͡Ͱαʔόʔ͕͍͍ײ͡ʹ্ཱ͕ͪΔ Α͏ʹͳΔ͜ͱ
%PDLFSCVJMEͯ͠·͔͢ʁ
%PDLFSSVOͯ͠·͔͢ʁ
%PDLFSSVOͯ͠·͔͢ʁ
%PDLFSpMFͷϕετϓϥΫςΟε ͝ଘͰ͔͢ʁ
IUUQTXXXTMJEFTIBSFOFU %PDLFSEDTGEPDLFSpMFCFTU QSBDUJDFT
%PDLFS$PO 4BO'SBODJTDPͰൃද͞Εͨࢿྉ
w Ϗϧυ࣌ؒ w ΠϝʔδαΠζ w ϝϯςφϯεੑ w ηΩϡϦςΟ w ࣋ଓੑ࠶ݱੑ
%PDLFSCVJMEͷ͓ΈϙΠϯτ w ΠϝʔδαΠζ w Ϗϧυͷ͞ w Մಡੑͱϝϯςφϯεੑ w ࠶ݱੑ w
ηΩϡϦςΟ
%PDLFSCVJMEͷ͓ΈϙΠϯτ w ΠϝʔδαΠζˡ w Ϗϧυͷ͞ w Մಡੑͱϝϯςφϯεੑ w ࠶ݱੑ w
ηΩϡϦςΟ
ΠϝʔδαΠζ૿͑Δ w %PDLFSΠϝʔδΛӡ༻͍ͯ͠ΔͱɺαΠζͷංେԽආ͚ ΒΕͳ͍ w ύοέʔδͷՃ w ΞϓϦέʔγϣϯґଘͷϥΠϒϥϦͷՃ w แ͓͖͍ͯͨ͠όΠφϦϑΝΠϧͷՃͳͲͳͲ
ΠϝʔδαΠζΛ͑ΔऔΓΈ ͦͷܰྔͳϕʔεΠϝʔδΛ͏
ϕʔεΠϝʔδͷ ద ΠϝʔδαΠζ ൚༻ੑ ॊೈੑ ֦ுੑ རศੑ %FCJBO TMJN ☓
˚ ˕ ˕ ˕ ˕ ˑ ˑ "MQJOF ˕ ˓ MJCD͕ʜ ˓ ˕ #VTZCPY ˑ ˚ ˚ ˓ 4DSBUDI ☠ ʁʁʁʁ ☓ 㱣
ϕʔεΠϝʔδͷબఆ w جຊɺΠϝʔδαΠζؾʹ͢Δ͖ w ͱ͍͑ɺϥΠϒϥϦͷґଘ͕ؔਂ͘ͳͬͯ͠·͏߹ɺ Πϝʔδͷӡ༻ίετ্͕͕ͬͯ͠·͏ͷͰແཧ͠ͳ͍ํ͕ ྑ͍͜ͱଟ͍ w ׳Εͳ͍͏ͪ"MQJOFΛແཧʹ͏ඞཁͳ͍ͱࢥ͏
ΠϝʔδαΠζΛ͑ΔऔΓΈ ͦͷNVMUJTUBHFCVJMEΛ͏
NVMUJTUBHFCVJMEͱ w ಉҰ%PDLFSpMFͷதͰʮผͷϏϧυͷॲཧʯΛݺͼग़͢Έ w ྫ HPͷΠϝʔδͰίϯύΠϧͨ͠HPͷόΠφϦΛ/PEFKTͷίϯςφ ʹͤͨΓͰ͖Δ w ͭͷΠϝʔδʹෳͷΞϓϦέʔγϣϯґଘύοέʔδΛೖΕΔඞ ཁ͕ͳ͘ͳΔͷͰɺΠϝʔδαΠζμϯ
w %PDLFSpMFͷதͰෳճ'30.Λॻ͘ͱ࣮ݱͰ͖Δ
NVMUJTUBHFCVJMEͱ IVHPͷ$-*Λ%-ͯ͘͠Δεςʔδ औಘͨ͠όΠφϦΛ/PEFͷΠϝʔδʹೖΕΔ XHFUͱ͔DBDFSUJpDBUFTͱ͔ΞϓϦͷ ίϯςφʹΒͳ͍
ΠϝʔδαΠζΛ͑ΔऔΓΈ ͦͷΞϓϦέʔγϣϯͷಈ࡞ʹ ؔͷͳ͍ϑΝΠϧΛऔΓࠐ·ͳ͍
Ͳ͏͍͏͜ͱ͔ w HJUԼͷϑΝΠϧEPDLFSJHOPSF͢Δ w ίϯύΠϧܕݴޠͷ߹ɺιʔείʔυ͍Βͳ͍ w ྫHPͳΒόΠφϦɺKBWBͳΒXBSKBS͚͕ͩ͋Εྑ͍ w ϓϩμΫγϣϯϏϧυΛਖ਼͘͠͏ w
ྫ։ൃ༻ϥΠϒϥϦΠϝʔδͷதʹऔΓࠐ·ͳ͍ w ΤσΟλσόοάπʔϧجຊೖΕͳ͍
ΞηοτͷίϯύΠϧʹͬͨ ϥΠϒϥϦΛফͯ͠ɺ ϓϩμΫγϣϯʹඞཁͳ ґଘؔΛೖΕ͢ ͍ܰͷͰBMQJOFϕʔεʹ͢Δ ίϯύΠϧͷͱ͖BMQJOFͩͱͭΒΈ ͕ਂ͍ͷͰɺϝϯςੑΛߟྀͯ͠ EFCJBOϕʔεͰίϯύΠϧ͢Δ
%PDLFSCVJMEͷ͓ΈϙΠϯτ w ΠϝʔδαΠζ w Ϗϧυͷ͞ˡ w Մಡੑͱϝϯςφϯεੑ w ࠶ݱੑ w
ηΩϡϦςΟ
ϏϧυͷΛ্͛Δཁૉ w ϏϧυΩϟογϡΛޮ͔ͤΔ w ฒྻੑΛ্͛Δ w Ͱ͖ΔݶΓڞ௨ͷϕʔεΠϝʔδΛ͏
%PDLFSpMFͷΩϟογϡ w มߋස͕͍͕ॲཧʹ͕͔͔࣌ؒΔͷΛ্ʹدͤΔ w ύοέʔδϚωʔδϟͱ͔ɺMPDLϑΝΠϧͷ$01:্ʹدͤΔ w ύοέʔδͷΠϯετʔϧͱΞοϓσʔτಉ͡ߦʹدͤΔ w ྫBQUHFUVQEBUFBQUHFUJOTUBMMFNBDT w
#VJME,JUΛೖΕΔ w NPVOUUZQFDBDIFͷ׆༻
%PDLFSpMFͷฒྻੑ w NVMUJTUBHFCVJMEΛ׆༻͢Δ w #VJME,JUΛೖΕΔ
ϕʔεΠϝʔδͷΈΛΔ w %PDLFSΠϝʔδͷ࣮ମ6'4ͱݺΕΔ-BZFSFE'JMFTZTUFN w ڞ௨ͷϕʔεΠϝʔδΛ֤ΞϓϦέʔγϣϯͰ͏ w τʔλϧͷϕʔεΠϝʔδʹ͏σΟεΫ༰ྔ͕ݮͰ͖Δ w 1VMM#VJMEʹ͔͔Δ͕࣌ؒݮͰ͖Δ w
ڞ௨ॲཧΠϝʔδԽ͢Δͷͭͷख
݁#VJME,JUΛ͏
%PDLFSCVJMEͷ͓ΈϙΠϯτ w ΠϝʔδαΠζ w Ϗϧυͷ͞ w Մಡੑͱϝϯςφϯεੑˡ w ࠶ݱੑ w
ηΩϡϦςΟ
ϏϧυͷͱΠϝʔδͷαΠζ Λ࠷༏ઌ͍ͯ͘͠ͱɺ࣍ୈʹ %PDLFSpMF͕ຐ۸ͱԽ͢
ຊηΫγϣϯͰɺ%PDLFSpMFͷ ՄಡੑɾϝϯςφϯεੑΛͲ͏ߴ Ί͍͔ͯ͘ʹ͍ͭͯߟ͑ͯΈΔ
%PDLFSpMFͷՄಡੑ w ಡΈ͍͢%PDLFSpMFͱԿ͔ w ͍ͬͯΔ͜ͱ͕໌֬ w ߦ͕͍ w %PDLFSʹ͓͚ΔίϯςφϓϩηεͷݪଇΛकΔ w
FOUSZQPJOUTIʹཔΓ͗ͯ͢Δ߹ઃܭ͕Α͘ͳ͍͔͠Εͳ͍ w ֤εςʔδͷ໋໊نଇॏཁ w ίϝϯτͰ8IBUͰͳ͘)PX8IZΛॏࢹ͢Δ
%PDLFSpMFͷϝϯςφϯεੑ w όʔδϣϯͷ໌هͳͲ͕ඞཁͳύοέʔδΛೖΕΔ߹ มʹΓग़͢ w มߋཧͷखؒΛݮΒ͢ w Ϗϧυͷͨͼʹ݁Ռ͕มΘΔͷ֎ w λάͦ͏͕ͩɺͰ͖ΔݶΓඞཁͳπʔϧͷόʔδϣϯ
ݻఆ͓ͯ͘͠
%PDLFSCVJMEͷ͓ΈϙΠϯτ w ΠϝʔδαΠζ w Ϗϧυͷ͞ w Մಡੑͱϝϯςφϯεੑ w ࠶ݱੑˡ w
ηΩϡϦςΟ
%PDLFSpMFͷ࠶ݱੑ w ϝϯςφϯεੑͷͱ͜ΖͰݴٴͯͨ͠ͷͰεΩοϓ
%PDLFSCVJMEͷ͓ΈϙΠϯτ w ΠϝʔδαΠζ w Ϗϧυͷ͞ w Մಡੑͱϝϯςφϯεੑ w ࠶ݱੑ w
ηΩϡϦςΟˡ
%PDLFSpMFʹ͓͚ΔηΩϡϦςΟ w ػີใͷऔѻ͍ w Ϗϧυதʹ(JUQVMM44)͢Δͱ͖ͷ伴ͷཧ w ΞϓϦέʔγϣϯͷγʔΫϨοτΩʔͷཧ w Ұ࣌తͳσʔλΛͲ͜ʹͲ͏อଘ͢Δ͔ͷઃܭ
44)(JUͷ伴
NPVOUUZQFTFDSFU Λ͏
NPVOUUZQFTFDSFUͱ w %PDLFS͔Βೖͬͨ৽໋͍͠ྩ w %PDLFSϏϧυதʹػີใΛ҆શʹϚϯτ͢ΔͨΊͷػ ೳ w Ռʹ伴͕Βͳ͍ʂΜΓʂ w 36/NPVOUUZQFTFDSFU
JETTI UBSHFUSPPUTTI JE@STBHJUDMPOF ˢΈ͍ͨͳײ͡ͰࢦఆͰ͖Δɻ
͏ͪΐͬͱଓ͖·͢
%PDLFSpMFͷઓུͱ %PDLFSΒ͍͠ΞϓϦέʔγϣϯͷ ࡞ΓํͱͷؔΘΓํ
%PDLFSΒ͍͠ΞϓϦέʔγϣϯʁ w %PDLFSͷྑ͞ w มԽͷ͍ΞϓϦέʔγϣϯʹରͯ͠ɺ#VJME4IJQ3VO ͷΤίγεςϜΛఏڙ͍ͯ͠Δ͜ͱ w ਖ਼͑͘͠ʮͲ͜Ͱʯʮಉ͡Α͏ʹʯಈ͘ڥ͕࣮ ݱͰ͖Δ
%PDLFSΛlਖ਼͘͠z͏ w ෆཁͳͷೖΕͳ͍ w มߋͷೖΓ͍͢Օॴͨॻ͖ʹ͠ͳ͍ w ։ൃڥɺݕূڥɺຊ൪ڥͰͰ͖ΔݶΓಉ͡ΠϝʔδΛ͏ w ڥ͝ͱͷґଘੑೖʹڥมFOUSZQPJOUΛ׆༻͢Δ w
ίϯςφϓϩηεͷݪଇΛΔ कΔ͔Ͳ͏͔ผͱͯ͠
ͱ͍͑ӡ༻࣌ʹࠔΔ͜ͱ͋Δ w Ͳ͏ͯ͠44)͍ͨ͠ɾɾɾWJN͍͍ͨɾɾɾ w 44)جຊΘͳ͍ 'BSHBUFͱ͔Ͱແ͍ݶΓɺFYFDJUͱ͔͢ Εͳ͍ͣ w σόοάπʔϧ͕ೖ͍ͬͯͳ͍ίϯςφͰσόοάπʔϧΛ
ىಈ͢Δํ๏ 1*%ωʔϜεϖʔεͷڞ༗ػೳΛ͏ w EPDLFSSVOSNJUQJEDPOUBJOFSBQQ EFCVH@JNBHFUBHTI
͑ɺSVOͪ͠Όͬͨ
։ൃͱӡ༻ͱΞϓϦͷߏͷ߹ w ͜͜Ͳ͏ͯ͠ίϯύΠϧ͕͠͠ඞཁͳͷͰ4UBHJOH ͱ1SPEVDUJPOͰΠϝʔδΛ͚ͳ͍ͱ͍͚ͳ͍ΜͰ͢ʂ w ΞϓϦέʔγϣϯͷ࣮ߦʹΫιͰ͔͍όΠφϦ͕ඞཁͰϏ ϧυ͢Δͷʹࢮ͵΄Ͳ͕͔͔࣌ؒͬͯ։ൃͲ͜Ζ͡Όͳ͍ ΜͰ͢ʼʻ w ΠϝʔδαΠζখ͘͞͠Α͏ͱ͢ΔͱΩϟογϡ͕ޮ͖ͮ
Β͘ͳͬͯਏ͍ΜͰ͕͢ʁʁʁ
͍Ζ͍Ζ͋ΔΑͶ
ϕετϓϥΫςΟεͱ%PDLFSXBZ ͷཱ྆ΛɺΞϓϦέʔγϣϯͷߏ ΛकΓͳ͕Β୲อ͢Δͷ͍͠ɻ
ϕετϓϥΫςΟε ͋͘·ͰϕετϓϥΫςΟε
େࣄͳͷ͖ͪΜͱ্ͬͨ Ͱɺ༻๏༻ྔΛकͬͯ͏͜ͱ
,OPXZPVSUPPMT LOPXZPVSBQQMJDBUJPO
5IBOLTGPSZPVSBUUFOUJPO