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
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
160
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
S3アクセス制御の設計ポイント
tommy0124
3
210
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
280
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
120
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
750
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Done Done
chrislema
185
16k
GitHub's CSS Performance
jonrohan
1032
460k
Designing for Performance
lara
610
69k
We Have a Design System, Now What?
morganepeng
53
7.8k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Visualization
eitanlees
148
16k
Side Projects
sachag
455
43k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
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ͷීٴͷͨΊΑͬ!! >< “## ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠”
࣭͝ͳͲ͋Γ·ͨ͠ΒͲ͏ͧ!!