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
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
4
1.8k
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
220
AWS DDoS攻撃防御の最前線
ryutakondo
1
160
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
140
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
200
[OCI Technical Deep Dive] OracleのAI戦略(2025年8月5日開催)
oracle4engineer
PRO
1
170
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
150
20250807_Kiroと私の反省会
riz3f7
0
230
Serverless Meetup #21
yoshidashingo
1
120
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
170
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
830
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building an army of robots
kneath
306
45k
KATA
mclloyd
32
14k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
How to train your dragon (web standard)
notwaldorf
96
6.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Building Applications with DynamoDB
mza
96
6.5k
Done Done
chrislema
185
16k
Visualization
eitanlees
146
16k
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ͷීٴͷͨΊΑͬ!! >< “## ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠”
࣭͝ͳͲ͋Γ·ͨ͠ΒͲ͏ͧ!!