$30 off During Our Annual Pro Sale. View Details »
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
340
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
140
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.9k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.5k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
210
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.4k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
300
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
510
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.5k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.7k
Other Decks in Technology
See All in Technology
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
1k
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
570
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
430
チーリンについて
hirotomotaguchi
6
1.9k
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
120
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
1.8k
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
120
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
690
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
140
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
120
品質のための共通認識
kakehashi
PRO
3
250
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Building an army of robots
kneath
306
46k
KATA
mclloyd
PRO
32
15k
Statistics for Hackers
jakevdp
799
230k
Done Done
chrislema
186
16k
Typedesign – Prime Four
hannesfritz
42
2.9k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
BBQ
matthewcrist
89
9.9k
Navigating Team Friction
lara
191
16k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
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ϓϩδΣΫτ ແྉͷ··