Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Dockerはじめの一歩 / The first step of Docker
ihcomega56
April 22, 2021
Technology
3
680
Dockerはじめの一歩 / The first step of Docker
JFrog webinar
ihcomega56
April 22, 2021
Tweet
Share
More Decks by ihcomega56
See All by ihcomega56
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
0
55
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
100
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
2.6k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
460
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶDevSecOps / DevSecOps Best Practices learned from my experiences
ihcomega56
2
300
Dockerよちよち歩きハンズオン / Docker hands-on for beginners
ihcomega56
0
41
アーティファクトが鍵!ビジネスを安全に進化させるDevSecOps実践 / Manage artifacts to practice DevSecOps
ihcomega56
2
3.3k
Localization Beyond Translation
ihcomega56
0
200
少しずつ学べば繋がりが見えてくる!DevOpsを支えるツールと最近の技術トレンド / Let's learn DevOps tools and trends
ihcomega56
0
97
Other Decks in Technology
See All in Technology
実験!カオスエンジニアリング / How to Chaos Engineering
oracle4engineer
PRO
0
140
キャッチアップ Android 13 / Catch up Android 13
yanzm
2
1.1k
エンタープライズにおけるSRE立ち上げとNew Relic選定に至った背景とは / SRE Startup and New Relic in the Enterprise
tomoyakitaura
2
160
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
0
590
Steps toward self-service operations in eureka
fukubaka0825
0
570
數據的多重宇宙 @ LINE Taiwan
line_developers_tw
PRO
0
660
ニフティでSRE推進活動を始めて取り組んできたこと
niftycorp
2
350
Adopting Kafka for the #1 job site in the world
ymyzk
1
400
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
oracle4engineer
PRO
0
100
完全に理解した incremetal 〜そして、何もわからないへ〜
mashiike
0
220
TypeScript 4.7と型レベルプログラミング
uhyo
6
3.4k
jaws-ug-asa-datasync-20220510
hiashisan
0
480
Featured
See All Featured
Building Adaptive Systems
keathley
25
1.1k
Code Review Best Practice
trishagee
41
6.7k
Six Lessons from altMBA
skipperchong
14
1.3k
Thoughts on Productivity
jonyablonski
43
2.2k
Building Applications with DynamoDB
mza
83
4.6k
How to train your dragon (web standard)
notwaldorf
57
3.8k
Robots, Beer and Maslow
schacon
152
7.1k
Pencils Down: Stop Designing & Start Developing
hursman
112
9.8k
Making Projects Easy
brettharned
98
4.3k
GitHub's CSS Performance
jonrohan
1020
410k
Building Better People: How to give real-time feedback that sticks.
wjessup
343
17k
What’s in a name? Adding method to the madness
productmarketing
11
1.5k
Transcript
%PDLFS ͡ΊͷҰา
2 ͡Ίʹ • ࢿྉͱಈըޙ΄Ͳެ։͠·͢ ϝʔϧͰ͓Βͤ͠·͢ • ࣭;00.ͷઐ༻ػೳΛͬͯਵ࣌ॻ͖ࠐΜͰ͍ͩ͘͞ • ;00.ͷνϟοτࣗ༝ʹ͓͍͍ͩ͘͞ •
5XJUUFS͕͖ͳํ +'SPHͰπΠʔτ͓ئ͍͠·͢ !"#$%& '()*+, -./01
3 ࣗݾհ Α͜ͳ "ZBOB:PLPUB • +'SPHͷ%FWFMPQFS"EWPDBUF • લ৬·ͰओʹόοΫΤϯυͷ։ൃ ʢ4*FS ࠂձࣾ
ূ݊ελʔτΞοϓʣ • (8͕͙ͦ͢͜ʹʂ !"#$$%&' (#)*+,%-.
ʮ͡ΊͷҰาʯγϦʔζ ಛ • ಛఆͷٕज़ʹ͍ͭͯɺΠϥετྫ͑Λͬͯઆ໌͠·͢ • ࣄΛֶͿ࣌֓ཁશମ૾Λ͔ͬͯΒਂງΓ͍ͨ͠ɺ ͰࣗྗͰ࢝ΊΔͷ͕ۤख ࠳ંͪ͠Ό͏ ʹΦεεϝͰ͢
• ͱʹ͔ࣗ͘Β৮ͬͯಈ͔ͯ͠Έ͍ͨʹΓͳ͍͔ʜ աڈ࡞ • ,VCFSOFUFT͡ΊͷҰา IUUQTTQFBLFSEFDLDPNJIDPNFHBUIFGJSTUTUFQPGLVCFSOFUFT • (JU (JU)VC(JU)VC"DUJPOT͡ΊͷҰา IUUQTTQFBLFSEFDLDPNJIDPNFHBUIFGJSTUTUFQPGHJUHJUIVCBOEHJUIVCBDUJPOT
ࠓͷςʔϚ%PDLFSೖʂ
%PDLFSΛ͏ͨΊͷ ΠϝʔδΛ௫ΜͰཉ͍͠ʂ طʹ͍ͬͯΔํ͓͞Β͍ࣝͷཧʹ
͘͠ΈΛৄ͘͠ ԐͰΘ͔Δίϯςφ IUUQTTQFBLFSEFDLDPNUTVZPBNPOLFZTHVJEFUPDPOUBJOFS /01 23456 789:;<
%PDLFSͱ !"#$%
ίϯςφͱ ιϑτΣΞͷίʔυͱґଘؔΛͯ͢ύοέʔδԽ࣮͠ߦ ڥ͔Βִ͢Δ͜ͱͰɺ͋ΒΏΔΠϯϑϥ্ͰΞϓϦέʔγϣϯ ͷૉૣ҆͘ఆ࣮ͨ͠ߦΛՄೳʹ͢Δͷ ࢀߟ IUUQTXXXEPDLFSDPNSFTPVSDFTXIBUDPOUBJOFS IUUQTXXXJCNDPNDMPVEMFBSODPOUBJOFSJ[BUJPO IUUQTDMPVEHPPHMFDPNDPOUBJOFST
ಥવͰ͕͢ɺ
ࠓ͔Β৽͍͠νʔϜͰ ࣄΛ͢Δ͜ͱʹͳͬͨͱ͠Α͏
։ൃڥߏங͢ΔΑͶ ։ൃऀ͡Όͳ͍߹͝ΊΜͳ͍͞ ࣄʹඞཁͳ४උηοτΞοϓΛ Πϝʔδ͍ͯͩ͘͠͞
օ͞Μͷࢥ͏ ʮ։ൃڥߏஙʯ ͱʁ
ʮ͏ͪ%PDLFSͬͯ։ൃͯ͠Δ͔Β γϡοͱڥ࡞ͬͪΌͬͯʙʯ ͳͲͱݴΘΕͨΒ
ώϠοͱ͢Δʁ خ͘͠ͳΔʁ
%PDLFSͷͳ͍։ൃڥߏங ։ൃ ؤுΔͧ
%PDLFSͷͳ͍։ൃڥߏங ڥߏங खॱͰ͢ ։ൃ ؤுΔͧ
%PDLFSͷͳ͍։ൃڥߏங ڥߏங खॱͰ͢ ઃ ఆ ϑ Ν Π ϧ
Λ ॻ ͖ ͑ Δ ݴ ޠ ͷ ։ ൃ Ω ο τ Λ Π ϯ ε τ ʔ ϧ ͢ Δ σ ʔ λ ϕ ʔ ε Λ Π ϯ ε τ ʔ ϧ ͢ Δ σ ʔ λ ϕ ʔ ε ͷ ς ʔ ϒ ϧ Ϣ ʔ β ʔ Λ ༻ ҙ ͢ Δ σ ʔ λ Λ ొ ͢ Δ *%& ς Ω ε τ Τ σ Ο λ Λ Π ϯ ε τ ʔ ϧ ͢ Δ ͦ ͷ ଞ ඞ ཁ ͳ ϛ υ ϧ Σ Ξ Λ ༻ ҙ ͢ Δ
%PDLFSͷͳ͍։ൃڥߏங Τϥʔ͕ ग़ͨ खॱॻ͕ ݹ͍ ྡͷਓͱ Կ͔ҧ͏ όʔδϣϯ ҧͬͨ
ઃ ఆ ϑ Ν Π ϧ Λ ॻ ͖ ͑ Δ ݴ ޠ ͷ ։ ൃ Ω ο τ Λ Π ϯ ε τ ʔ ϧ ͢ Δ σ ʔ λ ϕ ʔ ε Λ Π ϯ ε τ ʔ ϧ ͢ Δ σ ʔ λ ϕ ʔ ε ͷ ς ʔ ϒ ϧ Ϣ ʔ β ʔ Λ ༻ ҙ ͢ Δ σ ʔ λ Λ ొ ͢ Δ *%& ς Ω ε τ Τ σ Ο λ Λ Π ϯ ε τ ʔ ϧ ͢ Δ ͦ ͷ ଞ ඞ ཁ ͳ ϛ υ ϧ Σ Ξ Λ ༻ ҙ ͢ Δ
%PDLFSͷͳ͍։ൃڥߏங %PDLFS্Ͱಈ͔͢νϟϯεʂ ઃ ఆ ϑ Ν Π ϧ Λ
ॻ ͖ ͑ Δ ݴ ޠ ͷ ։ ൃ Ω ο τ Λ Π ϯ ε τ ʔ ϧ ͢ Δ σ ʔ λ ϕ ʔ ε Λ Π ϯ ε τ ʔ ϧ ͢ Δ σ ʔ λ ϕ ʔ ε ͷ ς ʔ ϒ ϧ Ϣ ʔ β ʔ Λ ༻ ҙ ͢ Δ σ ʔ λ Λ ొ ͢ Δ *%& ς Ω ε τ Τ σ Ο λ Λ Π ϯ ε τ ʔ ϧ ͢ Δ ͦ ͷ ଞ ඞ ཁ ͳ ϛ υ ϧ Σ Ξ Λ ༻ ҙ ͢ Δ
%PDLFSͷ͋Δ։ൃڥߏங %PDLFSΛ Π ϯ ε τ ʔ ϧ ͢
Δ %PDLFSΠ ϝ ʔ δ Λ औ ಘ ͢ Δ ͜͏ͳΔ͔ ઃ ఆ ϑ Ν Π ϧ Λ ॻ ͖ ͑ Δ ݴ ޠ ͷ ։ ൃ Ω ο τ Λ Π ϯ ε τ ʔ ϧ ͢ Δ *%& ς Ω ε τ Τ σ Ο λ Λ Π ϯ ε τ ʔ ϧ ͢ Δ
ͭͣͭΠϯετʔϧ͢Δ ίϯςφಋೖલ ։ൃڥߏங =>?6@ AB;C9D EFGH 04 ݴޠ ύοέʔδ
Ϛωʔδϟʔ σʔλϕʔε ϛυϧΣΞ
·ͱΊͯऔಘ͢Δ ίϯςφಋೖޙ ։ൃڥߏங ίϯςφ ݴޠ ύοέʔδ Ϛωʔδϟʔ σʔλϕʔε ίϯςφ
ίϯςφΤϯδϯ 04 σʔλ ೖΓ ϛυϧΣΞ
ۃͳ IJKLM NOPQR EFS43H ͜ΕͰ։ൃڥߏங͕ࡁΜ͡Ό͏ த͔ΒΜʂ 04 ίϯςφΤϯδϯ ίϯςφ
ίϯςφͱ ιϑτΣΞͷίʔυͱґଘؔΛͯ͢ύοέʔδԽ࣮͠ߦڥ͔Βִ ͢Δ͜ͱͰɺ͋ΒΏΔΠϯϑϥ্ͰΞϓϦέʔγϣϯͷૉૣ҆͘ఆͨ͠ ࣮ߦΛՄೳʹ͢Δͷ ࠶ܝ ͭ·Γ • ඞཁͳΞϓϦέʔγϣϯ σʔλϕʔεͦͷଞϛυϧΣΞɺ
ࣗͰ࡞ͬͨΞϓϦͳͲ ͱͦͷઃఆΛͻͱ·ͱΊʹͯ͠ • ಈ͔͍ͨ͠Πϯϑϥ ڥߏஙͷ߹ɺ։ൃ͢ΔਓͷϚγϯ ্ Ͱ͙͢ʹ࣮ߦͰ͖Δ
ίϯςφͷϝϦοτ • ؆୯ͳखॱͰ࣮ݱ͍ͨ͠ڥΛ࡞Ͱ͖Δ • ಉ͡ઃఆͰಉ͡ڥΛԿͰ࡞Ͱ͖ΔͷͰ • ϝϯόʔͷ૿һʹରԠ͍͢͠ • ڥ͝ͱʹ݁Ռ͕ҟͳͬͯ͠·͏ͷΛආ͚ΒΕΔ
• ઃఆͨ͠༰͕ͦͷ··࣮ݱ͞ΕΔͷͰɺखॱॻͱҧ͏͜ͱʹ ·͞ΕΔՄೳੑ͘ͳΔ
ͪΖΜڥߏங͕ ָʹͳΔ͚ͩ͡Όͳ͍
ผͷϝϦοτΛΔͨΊʹ ؆୯ͳྺ࢙ͷΛʜ
͔ͭͯͷ։ൃ • ͭͷ ཧ αʔόʔ্ͰෳͷΞϓϦέʔγϣϯΛՔಇͤ͞Δ • ಉ͡ڥͰಈ͘ΞϓϦέʔγϣϯಉ͕࢜ӨڹΛ༩͑߹ͬͨΓɺ ϦιʔεΛୣ͍߹ͬͨΓͯ͠͠·͏ 04
ΞϓϦέʔ γϣϯ ΞϓϦέʔ γϣϯ ΞϓϦέʔ γϣϯ αʔόʔ
ԾϚγϯͷ಄ • ԾԽιϑτΣΞΛ༻͍ͯɺͷαʔόʔʹෳͷԾత ͳαʔόʔ ԾϚγϯ Λߏங͢Δ • ԾϚγϯຖʹڥ 04ɺϛυϧΣΞɺΞϓϦέʔγϣϯ
͕Ͱ͖ɺཧϚγϯʹΑΔӡ༻ΑΓϝϦοτ͕େ͖͍ ͨΊਁಁͨ͠ • 04ͷΠϯετʔϧىಈ͕ඞཁͳɺϋʔυΣΞϦιʔε ࣌ؒΛ ൺֱత ଟ͘ཁ͢Δ Θͨ͠ ιϑτΣΞͷྗ ·ΔͰ ʂ ྫ αʔόʔͷ ԾԽ
• ίϯςφͰ࣮ݱ͍ͯ͠ΔͷԾԽͷҰछͰ͋Δ • αʔόʔΛԾԽ͢ΔͱϋʔυΣΞ͕ෳ͋Δ͔ͷΑ͏ʹ ݟ͑ΔͷͰɺ͜ΕΛʮϋʔυΣΞϨϕϧͷԾԽʯͱݺͿ • ίϯςφಉҰ04্ͰԾԽΛ࣮ݱ͢Δʮ04ϨϕϧͷԾ Խʯʹ͋ͨΔ ίϯςφʹΑΔԾԽ
ϗετ04 ίϯςφΤϯδϯ ίϯςφ ΞϓϦ ΞϓϦ ΞϓϦ ίϯςφ ΞϓϦ ΞϓϦ ϋΠύʔόΠβʔ 7. ΞϓϦ ΞϓϦ ΞϓϦ 7. ΞϓϦ ΞϓϦ ήετ04 ήετ04 ·ΔͰ ผʑͷ αʔόʔʂ ·ΔͰ ผʑͷ 04ʂ ϋʔυΣΞ Ϩϕϧͷ ԾԽ 04Ϩϕϧͷ ԾԽ αʔόʔ αʔόʔ ˞ॴҦʮϋΠύʔόΠβʔܕʯͷਤɻ04ͱઐ༻ιϑτΛ͏ʮϗετܕʯ͋Δ
• ϋʔυΣΞελοΫ04 ͷϑϧػೳ Λؚ·ͣɺΞϓϦ έʔγϣϯͱґଘؔͷΈΛύοέʔδԽ͢ΔͨΊ • ىಈ͕͍࣌ؒ • ύοέʔδͷαΠζ͕খ͍͞ •
༻͢ΔϋʔυΣΞϦιʔε͕খ͍͞ ˠࡢࠓͷιϑτΣΞ։ൃͷτϨϯυͱϚον͢Δ • Ϋϥυ • %FW0QT • $*$% • ϚΠΫϩαʔϏε ͳͲ ίϯςφʹΑΔԾԽͷϝϦοτ TUV<
• ཧαʔόʔΛ͏ͷʹൺΔͱύϑΥʔϚϯε͕Լ ͢Δ • ରԠ͍ͯ͠ͳ͍04ϓϥοτϑΥʔϜ্Ͱ͑ͳ͍ • ͲΜͳΞϓϦέʔγϣϯͰίϯςφԽͰ͖ΔΘ͚Ͱͳ͍ ίϯςφʹΑΔԾԽͷσϝϦοτ WXY
Z[\]9^ _`a SbKcdEb
%PDLFSͱ • ίϯςφΛͬͯΞϓϦέʔγϣϯͷ࡞औಘɺஔɺ࣮ߦ ͳͲΛߦ͏ͨΊͷϓϥοτϑΥʔϜɻίϯςφΤϯδϯͷͭ ͭ·ΓɺίϯςφΛ͏ͨΊͷͷͩʂ • -JOVYɺ8JOEPXTɺ.BDͰ͑Δ • ΦʔϓϯιʔειϑτΣΞ
• (Pݴޠ • ʹEPU$MPVE͕ࣾ։ൃ ͦͷޙ%PDLFSࣾʹ໊ࣾΛมߋ͠ɺ ࠓ%PDLFS͕ࣾ։ൃɺཧ͍ͯ͠Δ eBf]Y gh1Pi5jk lmnmod^ pG5qr
͔͜͜Β நతͳίϯςφͷͰͳ͘ %PDLFSͷΛ͍ͯ͘͠Α
ΞϓϦέʔγϣϯΛ 04ͷ্Ͱ͡Όͳͯ͘ ίϯςφ্Ͱಈ͔ͤΔͬͯ ֶΜ͚ͩͲ
ͦΕΛ%PDLFSͰͲ͏Δͷʁ
%PDLFSͷΞʔΩςΫνϟ • %PDLFSσʔϞϯ͕ίϯςφͷཧ࣮ߦΛߦ͏ • Ϣʔβʔ%PDLFSΫϥΠΞϯτͱΓͱΓ͢Δ͜ͱͰؒతʹ σʔϞϯͰΓ͍ͨ͜ͱΛ࣮ݱ͢Δ • ʑͷ։ൃΛ͢Δ্ͰσʔϞϯͱΫϥΠΞϯτͷҧ͍͋·Γ ҙࣝ͠ͳ͍
%PDLFS ΫϥΠΞϯτ %PDLFSσʔϞϯ ίϯ ςφ ίϯ ςφ ίϯ ςφ ίϚϯυΛ ͏ %PDLFSΤϯδϯ
• ίϯςφΛ࡞͢ΔͨΊͷ໋ྩ͕ೖͬͨύοέʔδ • طʹଘࡏ͢ΔͷΛ͏͜ͱɺ࡞Δ͜ͱͰ͖Δ • Πϝʔδ͕࣮ߦঢ়ଶʹͳͬͨΠϯελϯε͕ίϯςφ %PDLFSΠϝʔδ %PDLFS Πϝʔδ
࣮ߦڥͱͯ͠"MQJOF ܰྔͷ-JOVY Λͬͯʂ +BWBͱ(SBEMFΛΠϯετʔϧͯ͠ʂ ࣮ߦϑΝΠϧ͜ͷσΟϨΫτϦʹஔͯ͠ʂ +BWBΞϓϦέʔγϣϯΛ࣮ߦͯ͠ʂ
·ͣطଘͷΠϝʔδΛ ͏ํ๏Λ௫ΜͰ͍͜͏
͜ͷࢿྉͰͷ%PDLFSίϚϯυͷѻ͍ํ • ͜ΕҎ߱ɺઆ໌ʹؔ࿈͢ΔίϚϯυΛ্هϑΥʔϚοτͰεϥΠυʹهࡌ ͠·͢ • ίϚϯυͷ໊લΛհ͢ΔʹͱͲΊɺҾΦϓγϣϯͳͲΛৄ͘͠આ໌ ͢Δ͜ͱ ΄ͱΜͲ ͠·ͤΜ
• ࠓΠϝʔδΛ௫Ή͜ͱ͕తͰ͋ΔͨΊ • ίϚϯυͷ۩ମతͳ͍ํखΛಈ͔͞ͳ͍ͱʹ͔ͭͳ͍ͱߟ͑ΔͨΊ ίϯςφΛ࡞ɾ࣮ߦ͢Δ docker run
ϥΠϒϥϦͷ%PDLFSΠϝʔδΛ͏ • %PDLFS্Ͱಈ͘ΞϓϦέʔγϣϯͷ Πϝʔδ͕ͨ͘͞Μެ։͞Ε͍ͯΔ • ࠷Ұൠతͳެ։ઌ͕ʮ%PDLFS)VCʯͱ͍͏ϨδετϦ طʹ͋Δ%PDLFSΠϝʔδΛ͏ᶃ s+*t%&uvwxyY Az9{1|}~6
•€•‚GYƒ„… †•€‡ˆ{C‡P ‰‚GŠ ίϯςφΛ࡞ɾ࣮ߦ͢Δ docker run σϑΥϧτϑΥΞάϥϯυ ࣮ߦɻόοΫάϥϯυʹ͢Δ ʹEΦϓγϣϯΛ͚ͭΔ
• %PDLFSΠϝʔδΛอɾ͢ΔͨΊͷج൫Λࢦ͢ • %PDLFS)VCྨࣅͷαʔϏεΛ༻ͨ͠ΓɺϓϥΠϕʔτͳ ϨδετϦΛߏஙͨ͠Γ͢Δ͜ͱ͕Ͱ͖Δ • docker run Λ࣮ߦ͢Δͱɺ·ͣϩʔΧϧ͔Β֘ΠϝʔδΛ ୳͠ɺͳ͚ΕϨδετϦΑΓऔಘ͢Δ
%PDLFSϨδετϦ
%PDLFSϨδετϦ %PDLFSΠϝʔδΛμϯϩʔυ͢Δ docker pull %PDLFSΠϝʔδΛΞοϓϩʔυ͢Δ docker push %PDLFSϨδετϦʹϩάΠϯ͢Δ docker
login %PDLFSΠϝʔδΛݕࡧ͢Δ docker search
ҎԼͷ͍ͣΕ͔ͰΠϝʔδΛಛఆ͢Δ • *% • Πϝʔδ໊<λά໊> • Πϝʔδ໊<!μΠδΣετ> %PDLFSΠϝʔδͷಛఆ
࡞ͨ͠%PDLFSΠϝʔδΛผͷڥͰ͏ • ςετڥͰ2"͕ྃͨ͠ΞϓϦέʔγϣϯΛຊ൪ڥʹ σϓϩΠ͍ͨ͠ͱ͖ • ՔಇதͷΞϓϦέʔγϣϯʹ͕ݟ͔ͭͬͨͨΊҎલͷ όʔδϣϯʹ͍ͨ͠ͱ͖ طʹ͋Δ%PDLFSΠϝʔδΛ͏ᶄ 4‚6
‹SF1 Œ•Mdb ίϯςφΛ࡞ɾ࣮ߦ͢Δ docker run σϑΥϧτϑΥΞάϥϯυ ࣮ߦɻόοΫάϥϯυʹ͢Δ ʹEΦϓγϣϯΛ͚ͭΔ
Α͘͏ίϯςφͷૢ࡞ ίϯςφΛҰཡදࣔ͢Δ docker ps ࣮ߦ த ఀࢭ த ίϯςφΛఀࢭ͢Δ
docker stop ίϯςφΛىಈ͢Δ docker start ࣮ߦதͷίϯςφͰίϚϯυΛ࣮ߦ͢Δ docker exec ίϯ ςφ ࣮ߦதͷίϯςφͷϩάΛग़ྗ͢Δ docker logs ίϯςφΛআ͢Δ docker rm ରఀࢭதͷίϯςφɻ ಈ͍͍ͯΔͷΛࢭΊΔ࣌ GΦϓγϣϯΛ͚ͭΔ ͪΐͬͱ͓ͨ͠ࢼ͠ ௐࠪʹ͏͜ͱ͕ଟ͍ ର࣮ߦதͷίϯςφɻ ࢭ·͍ͬͯΔͷݟΔ࣌ BΦϓγϣϯΛ͚ͭΔ ίϯςφ͔ΒΠϝʔδΛੜ͢Δ docker commit ೖॻ αΠτ ͰΑ͘͏ͱ ॻ͔Ε͍ͯͨΓ͢Δ͕ɺ ͋·ΓΘͳ͍ײ֮ʜ
• ෳίϯςφΛ࣮ߦ͢Δπʔϧ • :".-ϑΝΠϧʹઃఆΛॻ͍ͯ͏ %PDLFS$PNQPTF
Πϝʔδͷ͍ํ͕ ͳΜͱͳ͔͖ͬͯͨ͘ʜʁ
࣍Πϝʔδͷࣗ࡞ʹઓʂ
• %PDLFSGJMFͱ͍͏ϑΝΠϧΛ࡞͢Δ • %PDLFSGJMF্ʹ࣮ݱ͍ͨ͜͠ͱΛهड़͠ɺϏϧυͱ͍͏࡞ۀΛ ߦ͏ͱ%PDLFSΠϝʔδ͕ੜ͞ΕΔ • طଘͷ%PDLFSΠϝʔδΛϕʔεͱ͠ɺͦΕΛΧελϚΠζ͢Δ ͷ͕Ұൠతͳ࡞ΓํͰ͋Δ %PDLFSΠϝʔδΛ࡞Δ
%PDLFSGJMF Ϗϧυ %PDLFS Πϝʔδ %PDLFSΠϝʔδΛϏϧυ͢Δ docker build
%PDLFSGJMFͷॻ͖ํ FROM nginx:latest COPY ./index.html /usr/share/nginx/html/index.html ඞͣϑΝΠϧ໊%PDLFSGJMFͱ͢Δ %PDLFS͕Ϗϧυ༻ϑΝΠϧΛ໊લͰผ ͢ΔͨΊ
%PDLFSGJMFͰ͑Δ ίϚϯυ s+*t%&Ž#•%ƒ O•6‘G’“ ”•Rk5 –—6’GqP<
• FROM ϕʔεͱͳΔΠϝʔδΛࢦఆ͢Δ • RUN Ϗϧυ࣌ʹίϯςφͰίϚϯυΛ࣮ߦ͢Δ • ENV ,FZ7BMVFܗࣜͰڥมΛࢦఆ͢Δ •
ADD, COPY ΠϝʔδϑΝΠϧΛίϐʔ͢Δ • CMD, ENTRYPOINT ίϯςφىಈ࣌ʹ࣮ߦ͢ΔίϚϯυҾΛ ͋ ࢦఆ͢Δ جຊతͳ%PDLFSGJMFͷίϚϯυ s+*t%&6˜™G =ešB›@ƒ œ•ž™q1 Ÿ 6Š¡¢3r
• LABEL • EXPOSE • VOLUME • USER • WORKDIR
• ARG • ONBUILD • STOPSIGNAL • HEALTHCHECK • SHELL ͦͷଞͷ%PDLFSGJMFͷίϚϯυ £¤5¥¦^ §¨EdEbr
• ʮԿΛͬͯͲΜͳ͜ͱΛͲΜͳ෩ʹ࣮ݱ͍͔ͨ͠ʯ͕໌֬ʹ ͳ͍ͬͯΕɺௐͳ͕Βهड़͍͚ͯ͠େৎʂ • จ๏͕ޡ͍ͬͯͨΒϏϧυ࣌ʹΤϥʔʹͳΔ͠ɺ࣮ߦͯ͠Έͯ ؒҧ͍ͬͯͨΒͤྑ͍ • %PDLFSͷίϚϯυ͕ࢦ͢ͷ৭ʑ͋ΔͷͰɺࣗͷதͰྨ ͯ͠ΈΔͱࠓԿ͍ͯ͠Δ͔͔Γ͍͢ •
%PDLFSGJMFʹॻ͘ͷ • ίϯςφΛૢ࡞͢Δͷ • ΠϝʔδΛૢ࡞͢Δͷ • ϦϙδτϦʹର͠ૢ࡞͢Δͷ ίϚϯυͱฉ͘ͱͦ͠͏͚ͩͲ M©’ª«^P ¬-6®¯Gq“ C°A±B› U°9PE²™S ³´EFP zABYšµBƒ ¶i·‚’SY^ ¸¹
• ઃఆͷશମ૾ৄࡉ໌֬Ͱ͔Γ͍͢ • όʔδϣϯཧͰ͖Δ ͪΖΜόʔδϣϯͷߦ͖དྷڞಉฤू ͕͘͢͠ͳΔ • ༰ΛγΣΞ͍͢͠ • ಉ͡ઃఆΛ࠶ݱͰ͖Δ
• ώϡʔϚϯΤϥʔ͕ى͜Γʹ͍͘ ʮ*OGSBTUSVDUVSFBT$PEFʯ ͳͥઃఆΛϑΝΠϧʹॻ͖ى͜͢ͷ͔ º»5S35 ¼½•ˆ¾ˆ¾ ™GAz9{¿ À17ÁAD1 IJ’YK<
• ීஈ։ൃ͍ͯ͠ΔΞϓϦέʔγϣϯ%PDLFSΠϝʔδԽͰ͖Δ • ΞϓϦέʔγϣϯͷϏϧυɺϏϧυࡁΈͷΞϓϦέʔγϣϯ औಘΛ%PDLFSGJMFͰߦ͏Α͏ઃఆ͢Δ • $*$%ύΠϓϥΠϯΛͬͯϏϧυσϓϩΠ͢Δͱྑ͍ ޙड़ ࣗ࡞ͷΞϓϦέʔγϣϯΛ%PDLFS
%PDLFSΠϝʔδ ࡞ͬͨΒͪΌΜͱཧ͠Α͏ʂ
खݩͷཧ • ஈʑϩʔΧϧʹΠϝʔδ͕ͨ·͍ͬͯ͘ͷͰ࣌ʑ֬ೝ͠Α͏ • ͍Βͳ͍ͷআ͠Α͏ %PDLFSΠϝʔδҰཡΛදࣔ͢Δ docker images %PDLFSΠϝʔδΛআ͢Δ
docker rmi Š4’Y “qiFSG Az9{bÃr
%PDLFSΠϝʔδઐ༻ϦϙδτϦʹอ • ࡞ͨ͠ΠϝʔδʮόΠφϦɾϦϙδτϦϚωʔδϟʔʯʹ อ͠ɺ͔ͦ͜ΒγΣΞ࠶ར༻Λ͢Δ • ಉ͡%PDLFSGJMFΛԿϏϧυ͢ΔͷΛආ͚ ࣌ؒΛઅͰ͖Δ • ࣭͕୲อ͞ΕͨΠϝʔδΛ͍ճͤΔ
औಘ͢Δ อ͢Δ
%PDLFSΠϝʔδઐ༻ϦϙδτϦʹอ • औಘͨ͠ΠϝʔδʮόΠφϦɾϦϙδτϦ Ϛωʔδϟʔʯʹอ͓ͯ͘͠ • ΩϟογϡͷׂΛՌͨ͢ • ߴʹऔಘͰ͖Δ •
֎෦ϦϙδτϦʹΞΫηε Ͱ͖ͳͯ͘औಘͰ͖Δ औಘͭͭ͠ อ͢Δ
%PDLFS)VCͷΞΫηεճ੍ݶʹҙ • ແྉϢʔβʔΠϝʔδͷऔಘճʹ্ݶ͕͋Δ • ະೝূͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ແྉϢʔβʔͱͯ͠ೝূࡁΈͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ
%PDLFS)VCͷΞΫηεճ੍ݶʹҙ • ແྉϢʔβʔΠϝʔδͷऔಘճʹ্ݶ͕͋Δ • ະೝূͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ແྉϢʔβʔͱͯ͠ೝূࡁΈͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ՝ۚ·ͨ+'SPH"SUJGBDUPSZ
Ϋϥυ൛ Λܦ༝͢Εɺ੍ݶ ͔Βղ์͞ΕΔʂ ÄÅ^P‘¡ ÆÇÈÉ ^P‘G
• 8JOEPXT.BDͰ%PDLFSΛ͏ͨΊͷπʔϧ • ݄͔Β༗ྉʢඞཁʹԠͯ͡ϓϥϯʣ • আ֎ݸਓɺ044ɺਓະຬ͔ͭച্ສυϧະຬͷ৫ %PDLFS%FTLUPQ༗ྉԽ
͜͜·ͰཧղͰ͖ͨΒ %PDLFSͱ࠷ۙͷٕज़τϨϯυͷ ਂ͍͕͔ؔΔ͔ʂʁ
• ࠓϏδωεʹιϑτΣΞෆՄܽͰ͋Δ • Ձ͋ΔιϑτΣΞΛސ٬ʹૉૣ͘ಧ͚ΒΕͳ͍ͱউͯͳ͍ ͱ͍͏લఏͷͱ • ϦϦʔεαΠΫϧΛ͘͠සൟʹιϑτΣΞΛΞοϓσʔτ ͠Α͏ • ϑΟʔυόοΫϧʔϓΛͲΜͲΜճ͍ͯ͜͠͏
ͱ͍͏ͷ͕ࡢࠓͷτϨϯυʹͳ͖ͬͯͨ ιϑτΣΞͱϏδωε s%ÊËÌÍ5q ±{ÎAD €Ï5q
͏গ͠۩ମతͳ ٕज़ํ๏Λ ݟ͍ͯ͜͏
• ιϑτΣΞͷෳࡶԽɾڊେԽʹΑΓɺϞϊϦγοΫͳΞϓϦ έʔγϣϯͱͯ͠αʔϏεΛҭͯΔͷ͕͘͠ͳͬͨ • খ͞ͳαʔϏε܈Λ࿈ܞͤ͞ΔʮϚΠΫϩαʔϏεʯ͕૿͑ͯ ͖͍ͯΔ • ίϯςφখ͞ͳ୯ҐͰ ΞϓϦέʔγϣϯΛύοέʔδԽ͠ ૉૣ্ཱͪ͛͘ΒΕΔͨΊ
ϚΠΫϩαʔϏεͱ૬ੑ͕ྑ͍ ϚΠΫϩαʔϏεͱ%PDLFS ൃ୲ʂ ηʔϧใ ୲ʂ ΞΧϯτ ใ୲ʂ ใ ୲ʂ
• $* ܧଓతΠϯςάϨʔγϣϯ $% ܧଓతσϦόϦʔɺܧଓత σϓϩΠϝϯτ ͷߟ͑ํ͕ਁಁ͖ͯͨ͠ • ։ൃͨ͠ιʔείʔυΛ͙͢Ϛʔδͨ͠ΓσϓϩΠΛ ߦͬͨΓ͢Δ͜ͱͰɺϦϦʔεͷස্ɺෆ۩߹ͷૣظൃݟ
ͳͲΛࢦ͢ $*$%ͱ%PDLFS
7$4 UFTU CVJME #3. TFSWFST EFQMPZ • ௨ৗɺࣗಈԽ͠ύΠϓϥΠϯΛߏங࣮ͯ͠ݱ͢Δ͕ɺ%PDLFSͷ खܰ͞࠶ݱੑɺͷ͢͜͜͠͞Ͱཱͭ
$*$%ͱ%PDLFS
• ߴͳσϓϩΠ͕Ͱ͖Δ͜ͱɺϝϯςφϯεͷ͢͠͞ ͳͲʹ͓͍ͯΫϥυͱ%PDLFSੑ͕ߴ͍ • ࡢࠓͲͷΫϥυϕϯμʔίϯςφΞϓϦʹରԠ͓ͯ͠Γɺ εϜʔζʹσϓϩΠ͢ΔͨΊͷπʔϧ͕ʑਐԽ͍ͯ͠Δ Ϋϥυͱ%PDLFS "NB[PO&$4 &MBTUJD$POUBJOFS4FSWJDF
(PPHMF $PNQVUF&OHJOF "[VSF$POUBJOFS *OTUBODFT ÐÑÒÓuÔÑÕ5Y Ö×1Ø6 ÙÚS Š3^™
৽͍ٕ͠ज़ ಥવൃੜ͢ΔΘ͚Ͱ ҙຯͳ͘ྲྀߦΔΘ͚Ͱͳ͍ʂ
৭ʑษڧɾ༻͍ͯ͘͠ͱ ͦΕͧΕͷͭͳ͕Γ͕ ݟ͑ͯ͘Δ
;Γ͔͑Γ • %PDLFSͱԿ͔ • ΞϓϦέʔγϣϯͱґଘؔΛύοέʔδԽ࣮ͯ͠ߦ͢Δʮίϯςφʯٕज़ͷͭ • ͳͥ%PDLFS͕ਓؾͳͷ͔ • ΞϓϦέʔγϣϯಉ࢜ͷׯবΠϯϑϥͷԚછʹΑΔোΛݮΒͤΔ
• ઃఆΛϑΝΠϧ %PDLFSGJMF Ͱॻ͚ΔͷͰϝϯςφϯε͍͢͠ • ༷ʑͳڥͷ্Ͱಉ͡ΞϓϦέʔγϣϯΛ͙͢ʹߏஙͰ͖Δ • ԾԽٕज़ͷதͰܰྔͰɺ͔ͭߴʹಈ࡞͢Δ ͜ΕΒʹೲಘ͠ɺ%PDLFSΛ͍࢝ΊΔͨΊͷҰา͕౿Έग़ͤͯ ͍ͨΒࠓ0,ʂ ·ͩଞʹίϚϯυػೳେྔʜগ֮ͣͭ͑͠Α͏
ࠓ͔ΒͰ͖ΔऔΓΈ • ʑͷνʔϜ։ൃӡ༻ ಛʹڥͷ༻ҙσϓϩΠͳͲ Ͱ ࠔ͍ͬͯΔ͜ͱΛ୳ͯ͠ΈΑ͏ • पΓͷਓͱͯ͠ΈΑ͏