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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kohei Ota
May 13, 2019
Technology
10
120k
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
3.3k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
160
Cracking the KubeCon CfP
inductor
2
750
KubeCon Recap -Platform migration at Scale-
inductor
1
1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
560
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
29
6.5k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
930
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.3k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
22
7k
Other Decks in Technology
See All in Technology
DEVCON 14 Report at AAMSX RU65: V9968, MSX0tab5, MSXDIY etc
mcd500
0
240
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
110
Kubecon NA 2025: DRA 関連の Recap と社内 GPU 基盤での課題
kevin_namba
0
110
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Azure SQL Databaseでベクター検索を活用しよう
nakasho
0
130
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
140
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
400
システムのアラート調査をサポートするAI Agentの紹介/Introduction to an AI Agent for System Alert Investigation
taddy_919
2
1.2k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
3
1.1k
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
300
ドキュメントからはじめる未来のソフトウェア
pkshadeck
5
2.2k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.8k
For a Future-Friendly Web
brad_frost
182
10k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
We Are The Robots
honzajavorek
0
150
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Being A Developer After 40
akosma
91
590k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Test your architecture with Archunit
thirion
1
2.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
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