Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dockerでアプリケーションを 本番リリースするまで
Search
Ryo Tomidokoro
October 08, 2017
Technology
2.3k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dockerでアプリケーションを 本番リリースするまで
とにかく、コンテナを本番にリリースするにはどうしたら良いか。その1点にフォーカスしました。
Ryo Tomidokoro
October 08, 2017
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
2.6k
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
1.9k
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
8
4k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
2
2k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
14k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
15k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
310
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
4k
集中して作業する技術/how_to_work_deeply
hanhan1978
69
62k
Other Decks in Technology
See All in Technology
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
210
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
mhlyc
0
120
LLM Content Moderationを支える評価・改善ループの実践
suikabar
2
360
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
170
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
4
2.4k
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
250
僕のハーネスを紹介します
watany
6
1.6k
アカウント統制の健康診断
kenichinakamura
1
200
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
260
freeeにおけるSoftware Factory
freee
PRO
0
530
Metadata - Section 2: Simple Metadata & Meta Tags
mohab1
0
140
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
2
1.7k
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
370
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Docker and Python
trallard
47
4.2k
Practical Orchestrator
shlominoach
192
12k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Statistics for Hackers
jakevdp
799
230k
Between Models and Reality
mayunak
4
510
First, design no harm
axbom
PRO
2
1.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Transcript
DockerͰΞϓϦέʔγϣϯΛ ຊ൪ϦϦʔε͢Δ·Ͱ 1)1$POGFSFODF *OOPWBUPS+BQBO*OD ॴ྄ &OHJOFFS
͓Βͤ εϥΠυSpeakerDeckʹΞοϓ͠·͕͢… ࡱӨࣗ༝ʹ͍ͯͯ͋͠Γ·ͤΜ !IBOIBO QIQDPOQIQDPO@
࣮ ԬͷϖνίϯͰಉ༷ͷηογϣϯΛͨ͠ https://speakerdeck.com/hanhan1978/dockerwoben-fan-deshi-tutemitefen-katutakoto
ྫ͑͜Μͳ༰ 1. ։ൃ࣌ʹԿΛ͖͔͢ʁ 2. CIͷ 3. ຊ൪Ͱdockerಈ͔࣌͢ͷ᠘
ࠓগ͠झΛม͑·͢ɻ
%PDLFSͷຊ൪ීٴ·ͩ·͍ͩ Docker৮ͬͯΈͨΒɺ͜Εྑ͍ͷͩͬͨʂ ͱ͍͑ɺ͍͖ͳΓձࣾʹDockerͷಋೖग़དྷͳ͍ ࠓΊ͓ͯ͜͏…(ٞͱ͔େมͩ͠) ݁Ռͱͯ͠ݟ͕ཷ·Βͳ͍ ͜ͷྲྀΕSubversion -> Git ͷ࣌ʹݟͨ
νϚνϚͨ͠ɺݱஈ֊Ͱແҙຯ
ຊͷςʔϚ
وํͷϋʔτʹՐΛ͚ͭΔ
ͭ·Γ ͜ͷηογϣϯΛػձʹ وํ͕ίϯςφΛຊ൪ʹ ϦϦʔεͨͯͨ͘͠·Βͳ͘ͳΔʂ ίϯςφຊ൪ϦϦʔεͷ࣮Λղআͯ͠Β͏ʂ
͋͞͡Ί·͠ΐ͏ɻ RIP - Vagrant
DockerίϯςφΛຊ൪Ͱ ͏ͷʹඞཁͳ͜ͱ
ඞཁͳࣄ 1. Twelve Factor App 2. Dockerͷجૅࣝ 3. Docker࣮ߦڥʹର͢Δཧղ ൱ʂʂ
ຊʹඞཁͳ͜ͱ 1. ਂ͘ߟ͑ͳ͍ 2. ίϐϖ 3. ΫϨδοτΧʔυ
ͱ͍͑
࠷ݶͷࣝ
࠷ݶͷ̏ͭ 1. ϩʔΧϧͰίϯςφΛ࡞ 2. ϨδετϦʹPUSH 3. ຊ൪ʹϦϦʔε
࠷ݶͷͭͷਤ
දతϚωʔδυɾαʔϏε (,&(PPHMF$POUBJOFS&OHJOF %PDLFS$MPVE4XBSN.PEF #&5"
,VCFSOFUFT౾ࣝ ɾΫόϧωςεͱಡΉ ɾ,4ͱུ͢ ɾ<LPPCFSOBZ`UBDF> ɾ4BJMJOH.BTUFSધͷૢॎऀ
%PDLFS4XBSN౾ࣝ ɾεΥʔϜͱಡΉ ɾུশແ͍ ɾ4XBSN܈Ε
͔͜͜Βຊ൪ڥͷछྨ͝ͱ ʹखॱΛհ͠·͢
(,& ,VCFSOFUFT ฤ ࣄલ४උ GCPͷΞΧϯτ࡞ ίϯςφΫϥελͷ࡞ https://cloud.google.com/container-engine/docs/clusters/operations?hl=ja gcloudίϚϯυͷΠϯετʔϧ https://cloud.google.com/container-engine/docs/before-you-begin?hl=ja kubectlίϚϯυͷΠϯετʔϧ
(,& ,VCFSOFUFT ฤ ϩʔΧϧͰͷίϯςφ࡞ EPDLFSCVJMEUHDSJP\130+&$5@*%^TBNQMFCMPHW EPDLFSSVOUSNQHDSJP\130+&$5@*%^TBNQMFCMPHW ಈ࡞֬ೝ
(,& ,VCFSOFUFT ฤ HDMPVEEPDLFSQVTIHDSJP\130+&$5@*%^TBNQMFCMPHW ϨδετϦʹPUSH
(,& ,VCFSOFUFT ฤ LVCFDUMSVOTBNQMFJNBHFHDSJP\130+&$5@*%^TBNQMFCMPHWQPSU LVCFDUMFYQPTFEFQMPZNFOUTBNQMFUZQF-PBE#BMBODFSQPSU ຊ൪ϦϦʔε ֬ೝ LVCFDUMHFUTFSWJDF
4XBSN.PEFฤ ࣄલ४උ Docker cloudͷΞΧϯτ࡞ https://cloud.docker.com AWSͷΞΧϯτ࡞ https://cloud.docker.com SwarmΫϥελͷ࡞
4XBSN.PEFฤ ϩʔΧϧͰͷίϯςφ࡞ EPDLFSCVJMEUSFHJTUSZHJUMBCDPNIBOIBOCMPHW EPDLFSSVOUSNQSFHJTUSZHJUMBCDPNIBOIBOCMPHW ಈ࡞֬ೝ
4XBSN.PEFฤ EPDLFSQVTISFHJTUSZHJUMBCDPNIBOIBOCMPHW ϨδετϦʹPUSH
4XBSN.PEFฤ EPDLFSTFSWJDFDSFBUFOBNFTBNQMFQVCMJTISFQMJDBT SFHJTUSZHJUMBCDPNIBOIBOCMPHW ຊ൪ϦϦʔε ֬ೝ EPDLFSTFSWJDFMT
)FSPLVฤ ࣄલ४උ herokuίϚϯυͷΠϯετʔϧ herokuͷΞΧϯτ࡞ https://cloud.docker.com
)FSPLVฤ APPΛ࡞ͯ͠ɺPUSH IFSPLVDPOUBJOFSMPHJO IFSPLVDSFBUF IFSPLVDPOUBJOFSQVTIXFC IFSPLVPQFO ಈ࡞֬ೝ ίϯςφ࣮ߦڥͱ͍͏ΑΓɺίϯςφbuild & run
DEMO
·ͱΊ
·ͱΊ ϚωʔδυͳڥΛ͏͜ͱͰɺ͔ͳΓ؆୯ɻ ؆୯ͳΞϓϦͳΒɺͳΜ͔͓ࢼ͠Ͱ͖ͦ͏͡Όͳ͍ʁ