Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Build Containers with Dockerfile Best Practicies
Kohei Ota
May 13, 2019
Technology
9
60k
Build Containers with Dockerfile Best Practicies
Kohei Ota
May 13, 2019
Tweet
Share
More Decks by Kohei Ota
See All by Kohei Ota
KubeCon Recap -Platform migration at Scale-
inductor
0
430
コンテナビルド最新事情 2022年度版 / Container Build 2022
inductor
2
56
データベースとストレージのレプリケーション入門 / Intro-of-database-and-storage-replication
inductor
22
4.6k
KubeConのケーススタディから振り返る、Platform for Platforms のあり方と その実践 / Lessons from KubeCon case studies: Platform for Platforms and its practice
inductor
2
340
オンラインの技術カンファレンスを安定稼働させるための取り組み / SRE activity for online conference platform
inductor
1
730
Kubernetesネットワーキング初級者脱出ガイド / Kubernetes networking beginner's guide
inductor
15
4k
コンテナネイティブロードバランシングの話 / A story about container native load balancing
inductor
0
870
DockerCon Live 2021 Recap
inductor
2
800
Kubernetesをとりまくコンテナランタイムの栄枯盛衰 / The rise and fall of the container runtimes surrounding Kubernetes
inductor
14
3.9k
Other Decks in Technology
See All in Technology
What's Data Lake ? Azure Data Lake best practice
ryomaru0825
2
730
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
170
データチームの境界を考える
yummydum
0
170
noteの品質課題に立ち上げ直後のQAチームが挑んだ軌跡
hiroki_tanaka
1
190
1人目SETとして入社して2ヶ月の間におこなったこと
tarappo
3
400
Implementing Kubernetes operators in Java with Micronaut - TechWeek Java Summit 2022
alvarosanchez
0
110
The role of the data organization as a business progresses
line_developers
PRO
3
820
雑な攻撃からELBを守る一工夫 +おまけ / Know-how to protect servers from miscellaneous attacks
hiroga
0
410
リファインメントは楽しいかね?
kitamu_mu
1
340
Internet Explorer は Microsoft Edge へ - IE の歩みとこれから -
yuhara0928
1
3.5k
アジャイル推進活動におけるBeAgileへの変化の兆し/Signs_of_Change_to_"Be_Agile"_in_Agile_Promotion_Activities
m_iyama
0
100
サイボウズの アジャイル・クオリティ / Agile Quality at Cybozu
cybozuinsideout
PRO
4
1.9k
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
It's Worth the Effort
3n
172
25k
How STYLIGHT went responsive
nonsquared
85
3.9k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
How to Ace a Technical Interview
jacobian
265
21k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
The Invisible Side of Design
smashingmag
290
48k
Scaling GitHub
holman
451
140k
The Pragmatic Product Professional
lauravandoore
19
2.9k
The World Runs on Bad Software
bkeepers
PRO
57
5.3k
Designing with Data
zakiwarfel
91
3.9k
From Idea to $5000 a Month in 5 Months
shpigford
373
44k
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