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
250
Docker_OSS_ホスティング入門
MIENRUNE BBQ #8
satokoki
May 01, 2024
Tweet
Share
More Decks by satokoki
See All by satokoki
Re:ゼロから始めるドメイン駆動設計
kxuxl
0
98
誤解 クリーンアーキテクチャ
kxuxl
0
140
事例で学ぶ プロダクト開発
kxuxl
0
66
WEBフロントエンドの秩序を保つ
kxuxl
0
88
Other Decks in Programming
See All in Programming
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
260
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
暇に任せてProxmoxコンソール 作ってみました
karugamo
2
720
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
103 Early Hints
sugi_0000
1
230
From Translations to Multi Dimension Entities
alexanderschranz
2
130
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
100
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
180
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
110
Beyond ORM
77web
5
660
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Building an army of robots
kneath
302
44k
Embracing the Ebb and Flow
colly
84
4.5k
Unsuck your backbone
ammeep
669
57k
Building Adaptive Systems
keathley
38
2.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Making the Leap to Tech Lead
cromwellryan
133
9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Code Reviewing Like a Champion
maltzj
520
39k
Making Projects Easy
brettharned
116
5.9k
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্ͰΔͷ ͕αʔόʔϨεͰ͍͍Μ͡Όͳ͍͔ͳͱ ࢥͬͯ·͢ɻ