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よちよち歩きハンズオン / Docker hands-on for beginners
Search
ihcomega56
October 05, 2021
Technology
1
320
Dockerよちよち歩きハンズオン / Docker hands-on for beginners
ハンズオン資料:
https://github.com/ihcomega56/DockerHandsOn
ihcomega56
October 05, 2021
Tweet
Share
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
120
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.9k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.5k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
190
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.4k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
280
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
490
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.3k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.6k
Other Decks in Technology
See All in Technology
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
570
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
260
モダンフロントエンド 開発研修
recruitengineers
PRO
2
240
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
1
150
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
180
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
130
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.5k
モバイルアプリ研修
recruitengineers
PRO
2
210
サイボウズフロントエンドの横断活動から考える AI時代にできること
mugi_uno
4
1.4k
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
280
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
帳票Vibe Coding
terurou
0
140
Featured
See All Featured
A better future with KSS
kneath
239
17k
The World Runs on Bad Software
bkeepers
PRO
70
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Optimizing for Happiness
mojombo
379
70k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Statistics for Hackers
jakevdp
799
220k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Designing for Performance
lara
610
69k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
%PDLFS ΑͪΑͪา͖ ϋϯζΦϯ
2 ࣗݾհ Α͜ͳ "ZBOB:PLPUB • +'SPHͷ%FWFMPQFS"EWPDBUF • લ৬·ͰओʹόοΫΤϯυͷ։ൃ ʢ4*FS ࠂձࣾ
ূ݊ελʔτΞοϓʣ • ࠷ۙɺੜ·ΕͯॳΊͯಉ͡өըΛ؍ͨ !"#$$%&' (#)*+,%-.
ʮΑͪΑͪา͖ʯγϦʔζ ಛ • ʮ͡ΊͷҰาʯͷ࣍ͷεςοϓʂ • ʮ͡ΊͷҰาʯͰֶΜͩ༰ʹ͍ͭͯखΛಈ͔ͯ͠ΈΔ • ཏతʹԿͰͬͯΈΔͷͰͳ͘ɺ·ͣ͡Ίʹඞཁͳ ػೳɾૢ࡞Λ༏ઌ͢Δ
લఏࣝ • %PDLFS͡ΊͷҰา IUUQTTQFBLFSEFDLDPNJIDPNFHBUIFGJSTUTUFQPGEPDLFS
%PDLFSͷ؆୯ͳ͓͞Β͍
%PDLFSͷΞʔΩςΫνϟ • %PDLFSσʔϞϯ͕ίϯςφͷཧ࣮ߦΛߦ͏ • Ϣʔβʔ%PDLFSΫϥΠΞϯτͱΓͱΓ͢Δ͜ͱͰؒతʹ σʔϞϯͰΓ͍ͨ͜ͱΛ࣮ݱ͢Δ • ʑͷ։ൃΛ͢Δ্ͰσʔϞϯͱΫϥΠΞϯτͷҧ͍͋·Γ ҙࣝ͠ͳ͍
%PDLFS ΫϥΠΞϯτ %PDLFSσʔϞϯ ίϯ ςφ ίϯ ςφ ίϯ ςφ ίϚϯυΛ ͏ %PDLFSΤϯδϯ
• ίϯςφΛ࡞͢ΔͨΊͷ໋ྩ͕ೖͬͨύοέʔδ • طʹଘࡏ͢ΔͷΛ͏͜ͱɺ࡞Δ͜ͱͰ͖Δ • Πϝʔδ͕࣮ߦঢ়ଶʹͳͬͨΠϯελϯε͕ίϯςφ %PDLFSΠϝʔδ %PDLFS Πϝʔδ
࣮ߦڥͱͯ͠"MQJOF ܰྔͷ-JOVY Λͬͯʂ +BWBͱ(SBEMFΛΠϯετʔϧͯ͠ʂ ࣮ߦϑΝΠϧ͜ͷσΟϨΫτϦʹஔͯ͠ʂ +BWBΞϓϦέʔγϣϯΛ࣮ߦͯ͠ʂ
·ͣެ։͞Ε͍ͯΔ ΠϝʔδΛͬͯΈΑ͏
%PDLFS)VC͔ΒΠϝʔδΛऔಘ %PDLFSΠϝʔδΛμϯϩʔυ͢Δ docker pull %PDLFSϨδετϦʹϩάΠϯ͢Δ docker login %PDLFSΠϝʔδΛݕࡧ͢Δ docker
search
ҎԼͷ͍ͣΕ͔ͰΠϝʔδΛಛఆ͢Δ • *% • Πϝʔδ໊<λά໊> • Πϝʔδ໊<!μΠδΣετ> %PDLFSΠϝʔδͷಛఆɾ࣮ߦ ίϯςφΛ࡞ɾ࣮ߦ͢Δ
docker run σϑΥϧτϑΥΞάϥϯυ ࣮ߦɻόοΫάϥϯυʹ͢Δ ʹEΦϓγϣϯΛ͚ͭΔ ίϯςφΛ࡞͢Δ docker create ίϯςφΛ࣮ߦ͢Δ docker start
खݩͷཧ • ஈʑϩʔΧϧʹΠϝʔδ͕ͨ·͍ͬͯ͘ͷͰ࣌ʑ֬ೝ͠Α͏ • ͍Βͳ͍ͷআ͠Α͏ %PDLFSΠϝʔδҰཡΛදࣔ͢Δ docker images %PDLFSΠϝʔδΛআ͢Δ
docker rmi /012 3456789 :;<=>?@
ΠϝʔδΛࣗͰ ࡞ͬͯΈΑ͏
%PDLFSGJMFͷॻ͖ํ FROM nginx:latest COPY ./index.html /usr/share/nginx/html/index.html ඞͣϑΝΠϧ໊%PDLFSGJMFͱ͢Δ %PDLFS͕Ϗϧυ༻ϑΝΠϧΛ໊લͰผ ͢ΔͨΊ
%PDLFSGJMFͰ͑Δ ίϚϯυ A+*B%&C#D%E FGHI914 JKLMN OPH195QR
• FROM ϕʔεͱͳΔΠϝʔδΛࢦఆ͢Δ • RUN Ϗϧυ࣌ʹίϯςφͰίϚϯυΛ࣮ߦ͢Δ • ENV ,FZ7BMVFܗࣜͰڥมΛࢦఆ͢Δ •
ADD, COPY ΠϝʔδϑΝΠϧΛίϐʔ͢Δ ˠ<ϦϯΫ>"%%ͱ$01:جຊ$01:Λ͏ • CMD, ENTRYPOINT ίϯςφىಈ࣌ʹ࣮ߦ͢ΔίϚϯυҾΛ ͋ ࢦఆ͢Δ ˠ<ϦϯΫ>$.%ͱ&/53:10*/5ͷΈ߹Θͤ جຊతͳ%PDLFSGJMFͷίϚϯυ
• LABEL • EXPOSE • VOLUME • USER • WORKDIR
• ARG • ONBUILD • STOPSIGNAL • HEALTHCHECK • SHELL ͦͷଞͷ%PDLFSGJMFͷίϚϯυ STNUVW XYZ[Z>@
Α͘͏ίϯςφͷૢ࡞ ίϯςφΛҰཡදࣔ͢Δ docker ps ࣮ߦ த ఀࢭ த ίϯςφΛఀࢭ͢Δ
docker stop ίϯςφΛىಈ͢Δ docker start ࣮ߦதͷίϯςφͰίϚϯυΛ࣮ߦ͢Δ docker exec ίϯ ςφ ࣮ߦதͷίϯςφͷϩάΛग़ྗ͢Δ docker logs ίϯςφΛআ͢Δ docker rm ରఀࢭதͷίϯςφɻ ಈ͍͍ͯΔͷΛࢭΊΔ࣌ GΦϓγϣϯΛ͚ͭΔ ͪΐͬͱ͓ͨ͠ࢼ͠ ௐࠪʹ͏͜ͱ͕ଟ͍ ର࣮ߦதͷίϯςφɻ ࢭ·͍ͬͯΔͷݟΔ࣌ BΦϓγϣϯΛ͚ͭΔ
ΞϓϦέʔγϣϯͷίϯςφԽ • ݴޠϑϨʔϜϫʔΫʹΑͬͯΓํͦΕͧΕ͕ͩɺࢿྉ ͨ͘͞Μ͋ΔͷͰ ࠷ۙެࣜυΩϡϝϯτ๛ ࢀߟʹͯ͠ ࣮ݱͰ͖Δ • جຊతʹ࣍ͷ͍ͣΕ͔ͷํͰ%PDLFSGJMFΛॻ͍͍ͯ͘
• ιʔείʔυΛίϯςφʹίϐʔ͠ɺΠϝʔδͷϏϧυ࣌ʹΞϓϦ έʔγϣϯϏϧυ͢Δ • Ϗϧυͨ͠ΞϓϦέʔγϣϯͷ࣮ߦϑΝΠϧΛίϯςφʹίϐʔ͢Δ
αϯϓϧΞϓϦέʔγϣϯ ࣮ߦ ϑΝΠϧ ιʔε ίʔυ \]2N0^_ `[a18N 8b0NW@ Ϗϧυ͢Δ
HSBEMFX CPPU+BS ࣮ߦ͢Δ KBWBKBSBQQIBOETPOKBS ˞αϯϓϧͷίϯςφͰ KBWB KBSBQQKBS
αϯϓϧΞϓϦέʔγϣϯ ࣮ߦ ϑΝΠϧ ΞϓϦ༻ ίϯςφ ᶃίϐʔ ᶄίϯςφͰ࣮ߦ %#༻ ίϯςφ
ᶅσʔλ$36% ࠓճऔಘͷΈ ಉ͡ωοτϫʔΫͰ ίϯςφΛσΟεΧόϦ Ͱ͖ΔΑ͏ʹ͢Δ
%PDLFSΠϝʔδ ࡞ͬͨΒͪΌΜͱཧ͠Α͏ʂ
ϩʔΧϧϦϙδτϦʹอ • ࡞ͨ͠ΠϝʔδʮόΠφϦɾϦϙδτϦϚωʔδϟʔʯʹ อ͠ɺ͔ͦ͜ΒγΣΞ࠶ར༻Λ͢Δ • ಉ͡%PDLFSGJMFΛԿϏϧυ͢ΔͷΛආ͚ ࣌ؒΛઅͰ͖Δ • ࣭͕୲อ͞ΕͨΠϝʔδΛ͍ճͤΔ
औಘ͢Δ อ͢Δ %PDLFSΠϝʔδΛΞοϓϩʔυ͢Δ docker push
ϦϞʔτϦϙδτϦΛհͯ͠औಘ • औಘͨ͠ΠϝʔδʮόΠφϦɾϦϙδτϦ Ϛωʔδϟʔʯʹอ͓ͯ͘͠ • ΩϟογϡͷׂΛՌͨ͢ • ߴʹऔಘͰ͖Δ •
֎෦ϦϙδτϦʹΞΫηε Ͱ͖ͳͯ͘औಘͰ͖Δ औಘͭͭ͠ อ͢Δ
όʔνϟϧϦϙδτϦ • ϩʔΧϧϦϙδτϦɾόʔνϟϧϦϙδτϦΛଋͶΔ • อऔಘόʔνϟϧϦϙδτϦʹରͯ͠ૢ࡞͢Εྑ͍ ϩʔΧϧ ϦϞʔτ όʔνϟϧ c<dH/67
ef=ge2hi j_klm[n
%PDLFS)VCͷΞΫηεճ੍ݶʹҙ • ແྉϢʔβʔΠϝʔδͷऔಘճʹ্ݶ͕͋Δ • ະೝূͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ແྉϢʔβʔͱͯ͠ೝূࡁΈͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ
%PDLFS)VCͷΞΫηεճ੍ݶʹҙ • ແྉϢʔβʔΠϝʔδͷऔಘճʹ্ݶ͕͋Δ • ະೝূͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ແྉϢʔβʔͱͯ͠ೝূࡁΈͷ߹ɺ࣌ؒͰϦΫΤετ·Ͱ • ՝ۚ·ͨ+'SPH"SUJGBDUPSZ
Ϋϥυ൛ Λܦ༝͢Εɺ੍ݶ ͔Βղ์͞ΕΔʂ opWQIm `qrs WQI9
%PDLFS$PNQPTF • ෳͷίϯςφΛఆٛɾ࣮ߦ͢ΔͨΊͷπʔϧίϚϯυͰ ·ͱΊͯىಈɾఀࢭͰ͖Δ • :".- EPDLFSDPNQPTFZNM ͰઃఆΛॻ͖ίϯςφΛཧ͢Δ •
%PDLFSGJMFͱΈ߹ΘͤͯϏϧυΛߦ͏͜ͱɺΠϝʔδ͚ͩ ར༻͢Δ͜ͱͰ͖Δ • %PDLFSGJMFʹهࡌͨ͠ઃఆΛ্ॻ͖͢Δ͜ͱͰ͖Δ • ઃఆϑΝΠϧ্ͷίϯςφ͕ࢀՃ͢ΔωοτϫʔΫΛઃఆ͢Δ
͖ͬͬͨ͜͞ͱ ͓͞Β͍ ࣮ߦ ϑΝΠϧ ΞϓϦ༻ ίϯςφ ᶃίϐʔ ᶄίϯςφͰ࣮ߦ %#༻
ίϯςφ ᶅσʔλ$36% ࠓճऔಘͷΈ ಉ͡ωοτϫʔΫͰ ίϯςφΛσΟεΧόϦ Ͱ͖ΔΑ͏ʹ͢Δ
ࠓ͔ΒΔ͜ͱ̍ ΞϓϦ༻ ίϯςφ %#༻ ίϯςφ ᶅσʔλ$36% ࠓճऔಘͷΈ ᶄίϚϯυͰॱ൪ʹ ىಈ͢Δ
ಉҰωοτϫʔΫͱͳΔ ᶃΠϝʔδऔಘ
ࠓ͔ΒΔ͜ͱ̎ ΞϓϦ༻ ίϯςφ %#༻ ίϯςφ ᶅσʔλ$36% ࠓճऔಘͷΈ ᶄίϚϯυͰॱ൪ʹ ىಈ͢Δ
ಉҰωοτϫʔΫͱͳΔ ᶃΠϝʔδऔಘ EJS EJS Ϛϯτ ࣮ߦ ϑΝΠϧ
ิใ
%PDLFS%FTLUPQ͕༗ྉԽʁ • %PDLFSGPS.BD8JOEPXT͕ର • ·ͰΓସ͑ͷ༛༧͋Γ • ݄υϧʮ1SPʯ υϧʮ5FBNʯ υϧʮ#VTJOFTTʯͷϓϥϯ
• ໊ະຬ͔ͭച্ສυϧະຬͷ ৫ɺݸਓར༻ɺ044ϓϩδΣΫτ ແྉͷ··