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-multi-stage-build
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hirokazu Maruta
July 30, 2019
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
docker-multi-stage-build
dockerのマルチステージビルドについて登壇しました。
Lightning talk of docker and docker-multi-stage-build.
Hirokazu Maruta
July 30, 2019
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
130
わかった気になるチューリングマシン
mochisuna
0
70
Elementary algorithm
mochisuna
0
34
ssh-dynamic-forward
mochisuna
0
71
ServerlessFramework-Trello
mochisuna
0
38
TechBash Slack Reaction Award
mochisuna
0
51
techbash-clasp
mochisuna
0
100
vuejs-night-publish
mochisuna
0
1.2k
surprise-lt-for-intern-vol-2
mochisuna
0
60
Other Decks in Technology
See All in Technology
kintone の AI コワーカーを、 Anthropic にエージェントを"ホストさせて"作った話 #devkinmeetup
sugimomoto
0
110
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.3k
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
300
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
450
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
260
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
650
見守りエージェントを作ってみた(ローカルLLM + Hermes Agent)
happysamurai294
0
100
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
370
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
760
SRE Next 2026 何でも屋からの脱却
bto
0
850
AI時代の闇と光
tatsuya1970
0
100
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Between Models and Reality
mayunak
4
370
Abbi's Birthday
coloredviolet
3
8.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
It's Worth the Effort
3n
188
29k
Amusing Abliteration
ianozsvald
1
230
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
380
Code Reviewing Like a Champion
maltzj
528
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Transcript
DockerͰ ϚϧνεςʔδϏϧυ͍ͨ͠ɻ ͨ͘͠ͳ͍ʁ SaaS ·Δͨ
Έͳ͞Μ
Docker
ͬͯ·͢ΑͶʁ
ͬͯ·͢ΑͶʁ ͜͜Ͱ2~3ਓ খटΛ͛Δఆ
େมศརͰ͢ΑͶ͐ɾɾɾ
େมศརͰ͢ΑͶ͐ɾɾɾ ͜͜Ͱ͞Βʹ2~3ਓ খटΛ͛Δఆ
ͳΕͦ͜ʂ
Λ
ͬͱ͍͍ײ͡ʹ͍͍ͨʂ
DockerͰ ϚϧνεςʔδϏϧυ͍ͨ͠ɻ ͨ͘͠ͳ͍ʁ SaaS ·Δͨ
ࣗݾհ • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • giftee.co SaaSνʔϜΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ɻ • github: https://github.com/mochisuna
ࠓ͢͜ͱ • Dockerͷ֓ཁ • ϚϧνεςʔδϏϧυ • ؆୯ʹσϞ ඪɿ • ૣޱʹͳΓ͗͢ͳ͍
• ్தͰ͛ग़͞ͳ͍ • ڬΊΔͱ͜ΖͰωλΛڬΉ
Docker֓ཁ
͍͖ͳΓ࣭Ͱ͢
DockerͬͯԿʁ
Docker is Կʁ ίϯςφܕͷΦʔϓϯιʔε ԾԽΤϯδϯͷҰͭ ※ݫີʹԾԽ͍ͯ͠ͳ͍
ίϯςφܕͷ͏·ຯ • VMܕͷԾԽΤϯδϯʹൺѹతʹܰྔ • VMܕΑΓߏங࡞ۀ͕༰қ ※ೝΊΔ ίϯςφܕ ΞϓϦ ϗετOS DockerΤϯδϯ
VMܕ ϗετOS ΞϓϦ ԾOS
͞Βʹ࣭Ͱ͢
ͦΕͧΕͷҧ͍Կʁ • Dockerfile • docker image • docker container
Docker༻ޠ • ίϯςφɿ୯ҰOS্Ͱִ͞Εͨϓϩηε • Πϝʔδɿίϯςφͷىಈઃఆɻܗʁ • DockerfileɿΠϝʔδͷߏஙઃఆ
Docker༻ޠ • ίϯςφɿ୯ҰOS্Ͱִ͞Εͨϓϩηε • Πϝʔδɿίϯςφͷىಈઃఆɻܗʁ • DockerfileɿΠϝʔδͷߏஙઃఆ ίϯςφ Πϝʔδ Dockerfile
༨ஊɿDockerΠϝʔδʹ͍ͭͯ • dokerΠϝʔδෳͷ ΠϝʔδΛϨΠϠͱͯ͠ ࣋ͭ • ͏ଆ୯ҰͷΠϝʔδ ʹݟ͑Δ • FROM
/ ADD /COPY શͯΠϝʔδϨΠϠʹ ૬ http://docs.docker.jp/engine/userguide/storagedriver/imagesandcontainers.html
ͬͱࡶʹ ϕʔεΠϝʔδ ॻ͖ࠐΈϨΠϠ dockerΠϝʔδ
͞Βʹ༨ஊɿbuild context • Γ͕ͪ • ߏங࣌ʹશϑΝΠϧɾσΟϨΫτϦ͕ೖΔ • COPY/ADD໋ྩͷ༗ແؔͳ͘ೖΔ docker image
build -t <IMAGE:TAG> . ͜Ε
ͳΜͰ͜Μͳ͔ͨ͠ʁ
Docker༑ୡ͔ͩΒ ʘ͜Θ͘ͳ͍Αʂʗ
༑ୡͱ ͬͱྑ͘ͳΓ͍͔ͨΒ
ຊɿϚϧνεςʔδϏϧυ
ϚϧνεςʔδϏϧυ • Docker17.05Ҏ߱ͷػೳ • ࠓ·Ͱ࡞͖ͬͯͨͷͷ͍͍ͱ͜औΓ • ՄಡੑɾอकੑΛ୲อ • Dockerfile/Πϝʔδͷ࠷దԽ
ͲΏ͜ͱʁ }։ൃεςʔδ }ຊ൪εςʔδ
طଘΠϝʔδΛFROMʹͰ͖Δ • ҰͭͷDockerfile͕ෳͷΠϝʔδΛಡΉ • ϛιʹͳΔͷ ࠷ऴతͳΠϝʔδʹඞཁͳͷ͚͕ͩೖΔ = ΠϝʔδαΠζͷେ෯ݮྔ --from=<as ໊લ>
target ࢦఆͰߏஙͰ͖Δ • ཉ͍͠εςʔδΛࢦఆͯ͠buildͰ͖Δ • ௨ৗͷbuildͩͱຊ൪εςʔδ·Ͱbuild͞ΕΔ docker build -- target
<as໊લ> } docker-composeͰεςʔδࢦఆՄ
σϞ • ࡞Γ·ͨ͠ • ࡶαʔόʔαΠυ • ࡶϑϩϯτΤϯυ • ςετ͘Β͍ॻ͚ https://github.com/mochisuna/vue-go-sample
Google Cloud RunʹσϓϩΠ • ίϚϯυ2ൃ gcloud beta run deploy <service_name>
\ --image gcr.io/<project_id>/<image_name> --region <region> gcloud builds submit \ -- project <project_id> \ -- tag gcr.io/<project_id>/<image_name> <dir>
·ͱΊ • Docker༑ୡɺ͜Θ͘ͳ͍ʂ • Πϝʔδʹඞཁͳͷ͚ͩΛೖΕΑ͏ • ىಈߴԽɺӡ༻ޮԽɺϦεΫܰݮ • Cloud RunΫιศརɻGCP৴ऀʹͳΔΘɻ