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-composeでプロダクション環境を運用したるでっ
Search
T.Nishimura
August 23, 2019
Technology
2
320
ゆるいdocker-composeでプロダクション環境を運用したるでっ
docker meetup kansai#4 登壇資料
T.Nishimura
August 23, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
130
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
130
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.9k
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
1k
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
340
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
120
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
240
推し書籍📚 / Books and a QA Engineer
ak1210
0
140
“日本一のM&A企業”を支える、少人数SREの効率化戦略 / SRE NEXT 2025
genda
1
270
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Pragmatic Product Professional
lauravandoore
35
6.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Rails Girls Zürich Keynote
gr2m
95
14k
Why Our Code Smells
bkeepers
PRO
337
57k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Balancing Empowerment & Direction
lara
1
460
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
How to Ace a Technical Interview
jacobian
278
23k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
340
Transcript
# ΏΔ͍docker-composeͰ ϓϩμΫγϣϯڥΛӡ༻ͨ͠ΔͰͬ!
## ಥવͰ͕͢dockerͬͯ·͔͢?? ຖͬͯ·͢^^
## ͬͱͦͷલʹࣗݾհ • ଜ ඒ (@takumiio) • ࣗশ;Δͨͬ͑͘͢Μ͡ʹ͋ • લʹגࣜձࣾLESTAS(http://lestas.jp/)
(چձ໊ࣾ:໊ೖΕ࡞ॴ)ʹδϣΠϯ • takumi.ioӡӦͯ͠·͢ • ΊͬͪΌۓு͍ͯ͠·͢ɻ ॳΊͯͷొஃ&౾ϝϯλϧͳͷͰੜ ஆ͘ݟक͍ͬͯͬͯͩ͘͞…
## docker-compose ศརͰ͢ΑͶ
## docker-composeͷศརͳͱ͜Ζ • docker-compose.yml༻ҙ͢Δ͚ͩͰ·Δ͝ͱ ڥ༻ҙ • طଘͷڥʹӨڹ͞Εͳ͍ͷͰϓϩδΣΫτϝ ϯόʔશһͷ։ൃڥߏஙͱͬͯ؆୯
## Ͱ…ࡢࠓͷϓϩμΫγϣϯͷ ڥͱ͍͏ͱ…
• ʮ͏ͪcapistorano͔ͭͬͯΔʯ • ʮखಈ(·ͨϦϞʔτ)Ͱgit pullʯ • ʮ͋͊͊͊Δ͌͌͌͢Μ͎͎͎͘ (rsync)ʯ • ʮFTPͰ͢(ŝžŕ)ʯ
※ՍۭͷͰ͕͢શͯܦݧͯ͠·͢
## ։ൃͰdockerͬͯͯ ϓϩμΫγϣϯͰͬͯͳ͍ͬ!!
## ϓϩμΫγϣϯͰ͑ͳ͍ཧ༝ྫ • ϓϩμΫγϣϯͷಋೖෑډ͕ߴ͍ • Kubernetesͱ͔ผ్ίϯςφΫϥυͷࣝඞཁͱ͔ • ϓϩμΫγϣϯ༻ͷίϯςφΠϝʔδ (௨শΰʔϧσϯΠϝʔδ)͕༻ҙͰ͖ͳ͍ •
Θ͔ΔɻΊΜͲ͍͘͞ΑͶɻ • uptime͕1000day͔͑ͨΒdockerೖΕͯ࠶ىಈͨ͘͠ͳ͍ • ΒΜ͕n ͰͦͷڥΛ࠶ىಈ͢Δͷ͕ා͍ͬͯؾ࣋ͪΘ͔Γ· ͢
͝ఏҊ͕͋Γ·ͬ͢!!
͍ͬͦͷ͜ͱ ΏΔ͍docker-compose Ͱӡ༻ͯ͠Έ·͠ΐ͏!!
## ΏΔ͍docker-composeͱ • ։ൃͰͬͯΔdocker-composeΛͪΐͬ͜ͱฤूͯ͠ ϓϩμΫγϣϯ • શͳΰʔϧσϯΠϝʔδͷ࡞Λࢦ͞ͳ͍ (ϘϦϡʔϜ͔͍͍ͭͬͯ͠ɺίϯςφͷαΠζؾʹ͠ͳ͍ͬ) •
ͦͷ͔ΘΓগʑͷμϯλΠϜΛڐ༰ (͍ͩ͠Ͱ͍͔Α͏ʹͰΧόʔͰ͖ΔΑ) • docker-compose.yml͚ͩͰ݁ (ͪΖΜDockerfile࡞Γ͍ͨͳΒ࡞ͬͯOKΑὑ)
## ϝϦοτ
## ϝϦοτ • ։ൃڥͷڥΛϓϩμΫγϣϯʹͦͷ··υΥϯͱߏஙͰ͖Δ • γϯϓϧ docker-compose up -d Ͱࠓ͔Β͋ͳͨϓϩμΫγϣϯ
• ಥવͷࢮ͘Β͍ͳΒ෮چͰ͖Δ!! ͔… (restart: always) • όʔδϣϯμϯ؆୯!! (image: foo:0.0.2 -> foo:0.0.1 ͚ͩͰΦοέʔ! ϘϦϡʔϜͬͯΔͳΒ git checkout ͰOK!!) • ςδϡϯγϣ??docker-compose.ymlݟ͍ͯͩ͘͞
## σϝϦοτ
## σϝϦοτ • KubernetesͳͲͷΨνπʔϧͱൺΔͱශऑ • େ͖ͳίϯςφͩͱॏ͘ͳͬͨΓಥવͷࢮͷ্ཱ͕͕֬Δ • μϯλΠϜ͕ൃੜ͍͢͠ • ίϯςφͷࢮ
= αʔϏεఀࢭ • ෳͷϗετΛލ͙ͳͲ ෳࡶͳ͜ͱΛ͠Α͏ͱ͢Δͱ٧Ή…͔͠Εͳ͍
## ͰେৎͩͲΜ!! σϝϦοτ࣍ୈͰ͋Δఔ૬ࡴͰ͖ΔͲΜ!!
## ྫ • μϯλΠϜରࡦ • CDN with ΩϟογϡͰΈ͔͚ͷμϯλΠϜΛ੍ • docker-compose
down ͢Δલʹ docker-compose pull ͠ͱ͘ • ಥવͷࢮରࡦ • Քಈͤ͞ΔαʔόͷεϖοΫΛ্͓͛ͯ͘ • සൟʹμϯ͢ΔΑ͏ͳΒίϯςφΠϝʔδͷόʔδϣϯΛ ࠷ޙʹ҆ఆՔಈ͍ͯͨ͠όʔδϣϯʹμϯάϨʔυ͢Δ
## ͔͠σϝϦοτΛΓӽ͑ͯ ্ڃऀͳΔͱ͞ΒͳΔϝϦοτ͕ಘΒΕΔ!! • CIπʔϧʹίϯςφ৯ΘͤͯDevOps!! • docker-composer͚ͩͰͰ͖ͳ͔ͬͨ k8s with GCPͳͲͰεέʔϧ෮چ
ΦʔτϚςΟοΫʹ!! • ͪͳΈʹAWSͰ͢ɻ
## ӡ༻ྫ
## Θ͍ͷձࣾͰࠓ࡞ͬͯΔ լঢ়αʔϏεͷϓϩμΫτ(໊લ·ͩͳ͍…) • ݱࡏࣾϨϏϡʔͷεςʔδɻ ຖσϓϩΠͰਐḿਐΉ͔Β্࢘ϝϯόʔʹͬ͜ΓͰ!! • ͪΖΜϦϦʔε࠷ॳdocker-composeͰ͍͘Ͱͬ!! • ෛՙ͕ߴ͘ͳΔ͜ΖʹΠϯϑϥΤϯδχΞʹؙ͛ͯ͠
k8s with GCPʹҠߦ!! • 10݄ϦϦʔε͔ΒΈΜͳൃͯͬ͠!!
takumi.io • ݸਓϒϩά݉ϙʔτϑΥϦΦ݅ࣗݾຬ༻ͳͷͰམͪͯ ͳ͠ • ssh takumi.io 'docker-compose up --build
-d' ͰσϓϩΠྃͱ͔εςΩΜ • t3.nanoͰӡ༻ͯ͠Δ͚ͲΠϥϯ͜ͱͨ࣌͠ (σϓϩΠͱ͔σϓϩΠͱ͔σϓϩΠͱ͔) Ҏ֎ࠓͷͱ͜Ζ҆ఆՔಈ
## ·ͱΊ
## ·ͱΊ • ͔ͤͬ͘։ൃڥʹdocker-compose͍ΕͯͬͯΔͳΒ ϓϩμΫγϣϯdockerΘͳ͍ͱ͍ͬͨͳ͍ͬ • αʔϏεμϯͯ͠ࠔΔͻͱ͕͍ͳ͍ΞʔϦεςʔδʹ ͱͬͯ࠷ద • σϓϩΠ͕ͨͷ͍ͬ͠!!
ϢʔβʹϓϩμΫτΛݟͤΕͯ ͡ΊͯՁΛఏڙͰ͖Δͱࢥ͏ͷͰ ͦͷεϐʔυ͕࠷ʹͳΔͨΊͷ ͓ख͍ʹͳΕ͍͍ͳ͊ͱࢥ͍ ͓͍͖ͤͯͨͩ͞·ͨ͠ɻ
͖ΐɺࠓͷεϥΠυޙͰͪΌΜͱڞ༗͢ΔΜ͔ͩΒͶͬ!! ͔ɺצҧ͍͠ͳ͍ͰΑͶͬ!!ɺͭʹ͋ΜͨͨͪͷͨΊͳΜ͔͡Όͳ͍Μ͔ͩΒͶͬ!! dockerͷීٴͷͨΊΑͬ!! >< “## ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠”
࣭͝ͳͲ͋Γ·ͨ͠ΒͲ͏ͧ!!