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_OSS_ホスティング入門
Search
satokoki
May 01, 2024
Programming
0
140
Docker_OSS_ホスティング入門
MIENRUNE BBQ #8
satokoki
May 01, 2024
Tweet
Share
More Decks by satokoki
See All by satokoki
事例で学ぶ プロダクト開発
satokoki645
0
8
WEBフロントエンドの秩序を保つ
satokoki645
0
17
Other Decks in Programming
See All in Programming
哲学史とモデリング
tanakahisateru
3
440
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
0
1.1k
slow types ってなんだろう?
karad
0
210
TypeScriptコードの漸進的改善 / Progressive Improvement of TypeScript Code
medley
1
460
mb_trim関数を作りました
youkidearitai
PRO
1
250
仕様と実装で学ぶOpenTelemetry
drumato
2
1.2k
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
2
300
Unlocking Potential of Property Based Testing with Ractor
ohbarye
2
590
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
790
Powerfully Typed TypeScript
euxn23
4
1.8k
Good first issues of TypeProf
mame
4
920
AppRouter Panel Talk
yosuke_furukawa
PRO
1
530
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
130
It's Worth the Effort
3n
180
27k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Teambox: Starting and Learning
jrom
128
8.4k
The Pragmatic Product Professional
lauravandoore
26
5.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Code Review Best Practice
trishagee
56
15k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Making Projects Easy
brettharned
109
5.5k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
We Have a Design System, Now What?
morganepeng
43
6.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Transcript
%PDLFSʷ 044 ϗεςΟϯάೖ .*&36/&##2
චऀͷใ ࠤ౻ ޭथ 🏢 👨💻 💛 גࣜձࣾΠϯϓϧ 8&#ΤϯδχΞ 75VCFS$PGGFF5FB
චऀͷΩϟϦΞ 2019 ୈࡾࠤ౻࢈ۀʢ࣮Ոʣʹब৬͢Δ 🧑🌾 2021 גࣜձࣾΠϯϓϧʹೖࣾ 🧑💻 2022 ϞόΠϧΤϯδχΞͰΩϟϦΞελʔτ📱 2023
8FCܥΤϯδχΞͱͯ͠ϑϧελοΫ👀 2024 BOENPSFʜ👨💻
ٕज़ࢦඪ ͱ͍͘ ͖͢
νΣοΫΠϯ %PDLFSͬͯͬͯ·͔͢ʁ
͘͡ ࠓੲ%PDLFSͷ͕ͨΓ %PDLFSʹ͍ͭͯ 044ʹ͍ͭͯ ͍͟ʂ͓ͨΊ͠
ࠓੲ%PDLFSͷ͕ͨΓ
ຐ๏ͷๅശ ੲʑɺ͋Δͱ͜Ζʹ ຐ๏ͷๅശ͕͋Γ·ͨ͠
ຐ๏ͷๅശ ੲʑɺ͋Δͱ͜Ζʹ ຐ๏ͷๅശ͕͋Γ·ͨ͠ ͦͷശɺԿΛೖΕͯ ҆શʹಈ͔͠ͳ͕Β ӡΔͷͰͨ͠
̍ຕͷࢴ ͜ͷശʹ̍ຕͷ ࢴ͕ೖ͍ͬͯ·ͨ͠
̍ຕͷࢴ ͜ͷശʹ̍ຕͷ ࢴ͕ೖ͍ͬͯ·ͨ͠ ͜ͷࢴʹ͜ͷശͷ ࢦࣔ༰͕ॻ͔Ε͍ͯ·ͨ͠
͜ͲΛͭ͘Δ ͕ͯࢠๅശ͕ ੜ·Ε·ͨ͠
͜ͲΛͭ͘Δ ͕ͯࢠๅശ͕ ੜ·Ε·ͨ͠ ൴ΒͦΕͧΕڵຯؔ৺͕ ͔Ε͍ͯ·ͨ͠
%PDLFS)VC %PDLFS)VCͱ͍͏໊ͷ ͕͋Γ·ͨ͠
%PDLFS)VC %PDLFS)VCͱ͍͏໊ͷ ͕͋Γ·ͨ͠ ๅശͨͪͷ׆ಈΑΓ ׆ൃʹͳΓ·ͨ͠
%PDLFS%BFNPO ޠͷཪଆͰɺ ࠇນ͕͍·ͨ͠
%PDLFS%BFNPO ޠͷཪଆͰɺ ࠇນ͕͍·ͨ͠ ͦͷ໊%PDLFS%BFNPO
%PDLFS%BFNPO ຐ๏ͷಜऀͰ͋Γ ശͷྗΛकΔͷͰ͢ ൴ͷଘࡏͷ͓͔͛Ͱɺ ׆ಈͷ҆શ͕อো͞Ε·͢
ΊͰͨ͠ ͜Ε͔ΒͣͬͱๅശʹΑͬͯ ശͷڥ͕อͨΕ͍ͯ͘ͷͰͨ͠ɻ
%PDLFSͱʁ %PDLFSͱ044ͷؔʹ͍ͭͯΓͨ͘ͳ͔ͬͨʁ σʔϞϯͨΔԶ͕ڭ͑ͯΖ͏ɾɾɾ
ొਓ %PDLFS 3FENJOF
%PDLFSʹ͍ͭͯ %PDLFSɺԾతͳڥΛఏڙͯ͘͠ΕΔ ྑ͍ϠπͰ͢ɻ γεςϜͦͷґଘؔΛίϯςφʹด͡ ࠐΊΔ͜ͱͰύοέʔδԽͰ͖·͢ɻ ͜ΕʹΑΓɺҟͳΔڥԼͰίϯςφ͞ ͑͋Εಈ࡞͕อো͞Ε·͢ɻ δΦϥϚΈ͍ͨͰ͢Ͷʂ
3FENJOFʹ͍ͭͯ 3FENJOFɺϓϩδΣΫτཧλεΫͷ ঢ়ଶͷࢹɺνʔϜ։ൃͰͷ৭ʑͳΓͱ ΓͳͲΛࢧԉ͢ΔͷιϑτΣΞͰ͢ɻ ͦͷ࣮ଶɺ044Ͱ͋Γɺ୭ʹͰجຊత ʹແঈͰఏڙ͞Ε͍ͯ·͢ɻ
αΫοͱ%PDLFSڥΛ࡞Δ %PDLFSΛμϯϩʔυ %PDLFS$PNQPTF GJMFΛ࡞
αΫοͱ%PDLFSڥΛ࡞Δ %PDLFSΛμϯϩʔυ %PDLFS$PNQPTFGJMFΛ࡞ ͓Εͷ໊લɺʮڥߏங %BFNPOʯɻ ͓લͷ %PDLFSڥߏஙΛαϙʔτ͢Δͧʂ
%PDLFSΛμϯϩʔυ͢Δͧʂ
%PDLFSͷެࣜαΠτ͔Βμϯϩʔυ͠·͢ɻ %PDLFSΛμϯϩʔυ͢Δͧʂ https://www.docker.com/products/docker-desktop/ ˞͓͍ͷڥʹԊͬͨͷΛΠϯετʔϧ͍ͯͩ͘͠͞ɻ
%PDLFSͷެࣜαΠτ͔Βμϯϩʔυ͠·͢ɻ %PDLFSΛμϯϩʔυ͢Δͧʂ https://www.docker.com/products/docker-desktop/ -JOVYڥͰ͋ΕΠϯετʔϧͷΈͰྃ͠·͢ɻ 8JOEPXTʹؔͯ͠ɺॾʑઃఆ͕ඞཁͷͨΊ֤ࣗͰઃఆΛ͓ئ͍͠·͢ 🙇 💡 ͓͍ͷڥʹԊͬͨͷΛબ͍ͯͩ͘͠͞ɻ
%PDLFS$PNQPTFதʹ͍ͭͯΓ͍ͨΑͳʂ
💡 ࠓճ3FENJOFͰ͕͢ɺ͓͍ͷπʔϧʹԊͬͨͷΛઃఆ͍ͯͩ͘͠͞ɻ %PDLFS$PNQPTFதʹ͍ͭͯΓ͍ͨΑͳʂ
💡 ࠓճ3FENJOFͰ͕͢ɺ͓͍ͷπʔϧʹԊͬͨͷΛઃఆ͍ͯͩ͘͠͞ɻ ӈهͰઃఆ͠·ͨ͠ɻ ৄࡉʹ͍ͭͯ͜Ε͔Βղઆ ͠·͕͢ɺͬ͘͟Γίϯςφ ͷࢦࣔ༰͕ॻ͔Ε͍ͯΔ ϑΝΠϧͱࢥ͍ͬͯͩ͘͞ɻ %PDLFS$PNQPTFதʹ͍ͭͯΓ͍ͨΑͳʂ ͳΜͱ͜ΕΛॻ͚ͩ͘Ͱɺ ઃఆ΄΅ऴΘΓͰ͢ɻ
ىಈ͢Δલʹɺͪΐͬͱ͚ͩ %BFNPO͘ΜͷղઆΛݟ·͢ɻ
ͦΕͧΕΛɺ͞Β͍ͬͯͧ͘ʂ
%PDLFS$PNQPTFϑΝΠϧͰɺ֤αʔϏεʢίϯςφʣΛఆٛ͠·͢ɻ ࠓճɺ3FENJOFͱ.Z42-ͷͭͷαʔϏε͕ఆٛ͞Ε͍ͯ·͢ɻ TFSWJDFT ͦΕͧΕΛɺ͞Β͍ͬͯͧ͘ʂ
%PDLFS$PNQPTFϑΝΠϧͰɺ֤αʔϏεʢίϯςφʣΛఆٛ͠·͢ɻ ࠓճɺ3FENJOFͱ.Z42-ͷͭͷαʔϏε͕ఆٛ͞Ε͍ͯ·͢ɻ TFSWJDFT ίϯςφͰ༻͢Δ%PDLFSΠϝʔδΛࢦఆ͠·͢ɻ 3FENJOFͷ߹ɺSFENJOFMBUFTUͱ͍͏ΠϝʔδΛ༻͍ͯ͠·͢ɻ .Z42-ͷ߹ɺNZTRMͱ͍͏ΠϝʔδΛ༻͍ͯ͠·͢ɻ JNBHF ͦΕͧΕΛɺ͞Β͍ͬͯͧ͘ʂ
ͬͱΓ͍ͨΑͳʂ
ϗετϚγϯͱίϯςφͷؒͷϙʔτϚοϐϯάΛఆٛ͠·͢ɻ ࠓճɺ3FENJOFίϯςφͷϙʔτ͕ϗετϚγϯͷϙʔτʹϚοϐϯάɻ QPSUT ͬͱΓ͍ͨΑͳʂ
ϗετϚγϯͱίϯςφͷؒͷϙʔτϚοϐϯάΛఆٛ͠·͢ɻ ࠓճɺ3FENJOFίϯςφͷϙʔτ͕ϗετϚγϯͷϙʔτʹϚοϐϯάɻ QPSUT ίϯςφͷڥมΛઃఆ͠·͢ɻ 3FENJOFίϯςφͰɺ.Z42-σʔλϕʔεͷઃఆ͕ڥมͱͯ͠ࢦఆ͞Ε͍ͯ·͢ɻ FOWJSPNFOU ͬͱΓ͍ͨΑͳʂ
͞Βʹʂ
ϗετϚγϯͱίϯςφؒͰσʔλͷӬଓԽΛ࣮ݱ͢ΔͨΊͷϚϯτϙΠϯτΛࢦఆ ͠·͢ɻ ࠓճɺ3FENJOFίϯςφͷϑΝΠϧΛϗετͷSFENJOF@EBUBσΟϨΫτϦʹӬଓԽ ͍ͯ͠·͢ɻ WPMVNFT ͞Βʹʂ
ϗετϚγϯͱίϯςφؒͰσʔλͷӬଓԽΛ࣮ݱ͢ΔͨΊͷϚϯτϙΠϯτΛࢦఆ ͠·͢ɻ ࠓճɺ3FENJOFίϯςφͷϑΝΠϧΛϗετͷSFENJOF@EBUBσΟϨΫτϦʹӬଓԽ ͍ͯ͠·͢ɻ WPMVNFT .Z42-༻ͷઃఆΛߦ͍·͢ɻ 3FENJOFͷ࣌ͱɺಉ༷ʹઃఆ͍͖ͯ͠·͢ɻ EBUBCBTF ͞Βʹʂ
Կ͌ɾɾɾʁ044ʹ͍ͭͯΓ͍ͨͩͱʁ
Կ͌ɾɾɾʁ044ʹ͍ͭͯΓ͍ͨͩͱʁ 044 ͷΈ ΦʔϓϯιʔειϑτΣΞͱɺϥΠηϯεͳͲͷن͋Γ·͕͢ɺجຊతʹ ແྉͰఏڙ͞Ε͍ͯΔγεςϜͷ͜ͱΛࢦ͠·͢ɻ͜ΕʹΑΓɺଟ͘ͷΤϯδχΞ͕ ڞಉͯ͠ιϑτΣΞΛվྑ͠ɺ৽͍͠ػೳΛՃ͢Δ͜ͱ͕Ͱ͖·͢ɻ ͨͩɺ࣮ࡍͷιϑτΣΞͱಉ͡Α͏ʹ͏ͨΊʹɺαʔόʔ্ʹσʔλϕʔε υϝΠϯΛߏ͢Δඞཁ͕͋Γɺผ్༻ҙͯ͋͛͠Δඞཁ͕͋Γ·͢ɻ ΦϯϓϨϛεͰߏͨ͠ΓɺΫϥυ্ʹ্͛ͯεϚϗ͔ΒݟΔ͜ͱՄೳͰ͢ɻ
💡 طͷΓͳ͍ͱ͜ΖΛɺࣗલͰ༻ҙ͢ΔΧϯδͰ͢ɻ Կ͌ɾɾɾʁ044ʹ͍ͭͯΓ͍ͨͩͱʁ 044ͷΈ ΦʔϓϯιʔειϑτΣΞͱɺϥΠηϯεͳͲͷن͋Γ·͕͢ɺجຊతʹ ແྉͰఏڙ͞Ε͍ͯΔγεςϜͷ͜ͱΛࢦ͠·͢ɻ͜ΕʹΑΓɺଟ͘ͷΤϯδχΞ͕ ڞಉͯ͠ιϑτΣΞΛվྑ͠ɺ৽͍͠ػೳΛՃ͢Δ͜ͱ͕Ͱ͖·͢ɻ ͨͩɺ࣮ࡍͷιϑτΣΞͱಉ͡Α͏ʹ͏ͨΊʹɺαʔόʔ্ʹσʔλϕʔε υϝΠϯΛߏ͢Δඞཁ͕͋Γɺผ్༻ҙͯ͋͛͠Δඞཁ͕͋Γ·͢ɻ ΦϯϓϨϛεͰߏͨ͠ΓɺΫϥυ্ʹ্͛ͯεϚϗ͔ΒݟΔ͜ͱՄೳͰ͢ɻ
্ཱͪ͛ͯΈΔ
$ sudo apt install docker-compose //インストールコマンド ࣄલ४උ ·ͣɺEPDLFSDPNQPTFΛΠϯετʔϧ͠·͢ɻ ࠓճ.BD04Λఆ͍ͯ͠·͢ɻ ্ཱͪ͛ͯΈΔ
$ sudo apt install docker-compose //インストールコマンド ࣄલ४උ ·ͣɺEPDLFSDPNQPTFΛΠϯετʔϧ͠·͢ɻ ࠓճ.BD04Λఆ͍ͯ͠·͢ɻ ্ཱͪ͛ͯΈΔ
$ mkdir docker-redmine // ディレクトリの作成 $ cd docker-redmine // ディレクトリ直下に移動する ࡞ۀσΟϨΫτϦΛ࡞Δ ҙͷσΟϨΫτϦͰ࡞ۀ༻ͷͷΛ࡞͠·͢ɻ ࠓճʮEPDLFSSFENJOFʯʹ͠·ͨ͠ɻ
EPDLFSϑΝΠϧΛஔ ઌ΄Ͳݟͨ͜ΕΛԼʹஔ͖·͢ɻ ϑΝΠϧ໊EPDLFSDPNQPTFZNMͰ͢ɻ ্ཱͪ͛ͯΈΔ ىಈॲཧΛ࣮ߦ͢Δ ͍Α͍ΑىಈͰ͢ʂ ҎԼɺ্ཱͪ͛ͷίϚϯυͰ͢ɻ $ docker-compose up
–d // 魔法の呪文 ίϚϯυ͕ͬͱΓ͍ͨํެࣜυΩϡϝϯτΛࢀর͍ͩ͘͞ɻ https://docs.docker.jp/compose/reference/docker-compose.html $ touch docker-compose.yml
্ཱ͕ͪͬͨʂ ͍͍ײ͡ʹͰ͖·ͨ͠ʂ ͬͨʙʂ ͖ͳΑ͏ʹվมՄೳ ΧϯόϯͷϓϥάΠϯͱ͔ೖΕΔͱ خ͍͠ײ͡ʹͳΔ
৭ʑํ๏͋Δ͕ɾɾɾ αʔόʔ্Ͱ࡞ۀ͢Δͷ͕͍͍͔ͳͱʂ ͓͖ͳΠϯϑϥͰ͓ࢼ͠ՄೳͰ͢ɻ αʔόʔʹ͋͛Δ߹ ݸਓతʹɾɾɾ "-#Ͱෛՙࢄͭͭ͠ɺ&$4্ͰΔͷ ͕αʔόʔϨεͰ͍͍Μ͡Όͳ͍͔ͳͱ ࢥͬͯ·͢ɻ