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
Good first issues of TypeProf
mame
4
910
Next.js App Router
quramy
14
2.3k
Dev ContainersとTestcontainers
bells17
3
100
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
Unlocking Potential of Property Based Testing with Ractor
ohbarye
2
540
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
570
株式会社ゼネテック
genetec
0
130
The Final Frontier of Web Development: React Server Components vs Jakarta EE
ivargrimstad
0
190
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
3
2.2k
Namespace, What and Why
tagomoris
4
1.2k
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
0
160
Amazon Aurora Serverless v2が意外と高かった話と、AWS Database Migration Serviceの話
satoshi256kbyte
1
110
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
In The Pink: A Labor of Love
frogandcode
138
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Clear Off the Table
cherdarchuk
86
310k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Building an army of robots
kneath
300
42k
Web Components: a chance to create the future
zenorocha
306
41k
Automating Front-end Workflow
addyosmani
1357
200k
The Invisible Customer
myddelton
114
12k
Music & Morning Musume
bryan
41
5.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
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্ͰΔͷ ͕αʔόʔϨεͰ͍͍Μ͡Όͳ͍͔ͳͱ ࢥͬͯ·͢ɻ