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
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
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
480
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
1
620
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
270
AI × Datadog MCP でコスト削減まで実現した Metric Streams の導入
three_mouth_ago
0
140
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
140
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.4k
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
490
Does an AI Watermark Survive Translation?
machinetranslation
0
510
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
560
少人数データチームのDevin活用実践事例
runandy16
2
100
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
200
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
470
Featured
See All Featured
Leo the Paperboy
mayatellez
8
2.2k
Documentation Writing (for coders)
carmenintech
77
5.5k
Are puppies a ranking factor?
jonoalderson
2
3.9k
Site-Speed That Sticks
csswizardry
13
1.5k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
510
Crafting Experiences
bethany
1
270
First, design no harm
axbom
PRO
2
1.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
460
Agile that works and the tools we love
rasmusluckow
331
22k
The SEO Collaboration Effect
kristinabergwall1
1
540
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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,ʂ ·ͩଞʹίϚϯυػೳେྔʜগ֮ͣͭ͑͠Α͏
ࠓ͔ΒͰ͖ΔऔΓΈ • ʑͷνʔϜ։ൃӡ༻ ಛʹڥͷ༻ҙσϓϩΠͳͲ Ͱ ࠔ͍ͬͯΔ͜ͱΛ୳ͯ͠ΈΑ͏ • पΓͷਓͱͯ͠ΈΑ͏