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
120k
10
Share
Build Containers with Dockerfile Best Practicies
Kohei Ota
May 13, 2019
More Decks by Kohei Ota
See All by Kohei Ota
CloudNative Meets WebAssembly: Exploring Wasm's Potential to Replace Containers
inductor
4
3.5k
The Cloud Native Chronicles: 10 Years of Community Growth Inside and Outside Japan
inductor
0
170
Cracking the KubeCon CfP
inductor
2
870
KubeCon Recap -Platform migration at Scale-
inductor
1
1.1k
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
3
590
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
29
6.6k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
3
970
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
1.4k
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
22
7.5k
Other Decks in Technology
See All in Technology
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
220
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
260
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
0
210
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
780
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
220
実例から学ぶ GuardDuty(SSH BruteForce)調査の全体フローと勘所【SecurityJAWS】
cscengineer
PRO
0
180
Agent Development Kit (ADK)で学ぶ実践Context Engineeringと社内での応用例
lycorptech_jp
PRO
0
140
Orchestration Development Workshopを半期実施して
lycorptech_jp
PRO
0
130
GitHub Copilot CLI で考える複数エージェント設計
tomokusaba
0
150
ソフトウェアサプライチェーン攻撃対策として今からサクッとできること
flatt_security
2
110
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
6
2k
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
7.6k
Between Models and Reality
mayunak
4
290
AI: The stuff that nobody shows you
jnunemaker
PRO
7
650
Documentation Writing (for coders)
carmenintech
77
5.3k
WENDY [Excerpt]
tessaabrams
10
37k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
A designer walks into a library…
pauljervisheath
211
24k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
180
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Statistics for Hackers
jakevdp
799
230k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
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