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
270
ゆるいdocker-composeでプロダクション環境を運用したるでっ
docker meetup kansai#4 登壇資料
T.Nishimura
August 23, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
On Your Data を超えていく!
hirotomotaguchi
2
670
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
100
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.3k
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
130
競技としてのKaggle、役に立つKaggle
yu4u
0
210
JAWS-UG Bedrock Claude Night
yamahiro
3
570
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
150
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.4k
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
440
反実仮想機械学習とは何か
usaito
PRO
11
4.4k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
319
37k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
KATA
mclloyd
15
12k
How GitHub (no longer) Works
holman
304
140k
The Pragmatic Product Professional
lauravandoore
25
5.8k
A better future with KSS
kneath
231
16k
Unsuck your backbone
ammeep
663
57k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
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ͷීٴͷͨΊΑͬ!! >< “## ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠”
࣭͝ͳͲ͋Γ·ͨ͠ΒͲ͏ͧ!!