Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dockerはじめの一歩 / The first step of Docker
Search
ihcomega56
April 22, 2021
Technology
1.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dockerはじめの一歩 / The first step of Docker
JFrog webinar
ihcomega56
April 22, 2021
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
180
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
2.1k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.7k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
280
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.5k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
340
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
570
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.8k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.8k
Other Decks in Technology
See All in Technology
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
AI時代に顧客へ最速で価値を 届けるための試行錯誤 〜「AI × マネジメント」領域におけるmentoのケース〜
posterkeisuke
0
110
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.5k
20260912_スクラムにジェネラリストは必要か
ryugen04
0
350
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
330
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
220
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
260
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
160
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
460
安心して変更できるWebフロントエンドの作り方
pirosikick
2
720
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
530
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
550
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
890
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
New Earth Scene 8
popppiees
3
2.5k
Un-Boring Meetings
codingconduct
0
410
How to train your dragon (web standard)
notwaldorf
97
6.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
Become a Pro
speakerdeck
PRO
31
6.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Designing for humans not robots
tammielis
254
26k
Transcript
None
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,ʂ ·ͩଞʹίϚϯυػೳେྔʜগ֮ͣͭ͑͠Α͏
ࠓ͔ΒͰ͖ΔऔΓΈ • ʑͷνʔϜ։ൃӡ༻ ಛʹڥͷ༻ҙσϓϩΠͳͲ Ͱ ࠔ͍ͬͯΔ͜ͱΛ୳ͯ͠ΈΑ͏ • पΓͷਓͱͯ͠ΈΑ͏