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-machineで簡単にデモ環境を構築する、あるいはローカルのリソースを消費し...
Search
yuki-yano
July 02, 2019
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
docker-machineで簡単にデモ環境を構築する、あるいはローカルのリソースを消費しない開発環境について / Easily build an environment with docker-machine
yuki-yano
July 02, 2019
More Decks by yuki-yano
See All by yuki-yano
Neovimのリモートプラグインとはなんなのか、あるいはTypeScriptでのNeovimプラグイン実装について / Developing Remote Plugin in TypeScript
yuki_ycino
1
1.9k
RPA実行環境のFargateへの移行 / Migrating RPA Infrastructure to Fargate
yuki_ycino
0
6.7k
コンシューマーゲームを操作するプログラマブルコントローラーの作成
yuki_ycino
0
210
Other Decks in Programming
See All in Programming
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
270
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
290
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
730
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
590
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
250
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
220
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
400
源内ハンズオン概要編
hideg
0
210
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
190
MySQLとPostgreSQLって何が違うの?
akagami
0
130
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
810
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Site-Speed That Sticks
csswizardry
13
1.5k
Everyday Curiosity
cassininazir
0
290
We Are The Robots
honzajavorek
0
310
So, you think you're a good person
axbom
PRO
2
2.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
AI: The stuff that nobody shows you
jnunemaker
PRO
9
940
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
docker-machineͰ؆୯ʹ σϞڥΛߏங͢Δ ͋Δ͍ϩʔΧϧͷϦιʔεΛ ফඅ͠ͳ͍։ൃڥʹ͍ͭͯ Yuki Yano @yuki-ycino
Who is me? ༟थ όοΫΤϯυϝΠϯͷWebΤϯδχΞɻۀͰओʹRails Ͱͷ։ൃΛத৺ʹɺΠϯϑϥϑϩϯτΤϯυͷ։ൃ͠ ͍ͯ·͢ɻ લ৬ؚΊRailsྺ2ఔͰɺͦͷલScalaͳͲͰ։ൃ Λ͍ͯ͠·ͨ͠ɻ
Dockerʹ͍ͭͯɺνʔϜͰͷษڧձطଘڥͷ DockerԽɾΠϝʔδͷվળͳͲʹऔΓΜͩ͜ͱ͕͋Γ ·͢ɻ
Output • Dockerͷجຊʹ͍ͭͯपลڥ·Ͱ·ͱΊ https://qiita.com/yuki_ycino/items/b94ae2bf7d78685cd6f5 • Electron + Vue + flowtypeͰ࠷ߴͷը૾Λऩू͢ΔͨΊͷ
TwitterΫϥΠΞϯτΛ࡞ͬͨ https://qiita.com/yuki_ycino/items/9a2f7feef947c4c258ac • tmuxΛޮΑͬͯ͘։ൃΛരʹ͢Δ࠷ߴͷઃఆ https://qiita.com/yuki_ycino/items/ef5e6b63c8f9af2f03c0
Dockerศར
Dockerศར͚ͩͲ͠ΜͲ͍ • (MacͱWindowsͰ)ಈ࡞͕͍ • Ϧιʔε͕৯ΘΕΔ • ҰൃͰߏஙͰ͖Δ͚Ͳ༁͕͔Βͳ͘ͳͬͨ ͱ͖ʹDockerͷυϝΠϯ͕ࣝඞཁ • ϕετϓϥΫςΟεͱ͍͏໊ͷόουϊϋ
docker-machineΛ͓͏
docker-machineͱ • ԾϚγϯ্ʹDocker EngineΛΠϯετʔϧ ͢Δπʔϧ • ϩʔΧϧͷϚγϯ͚ͩͰͳͯ͘AWS VPS(Digital OceanͳͲ)ର •
ԾϚγϯͷdockerίϚϯυΛಁաతʹ࣮ߦ͢Δ
Կ͕خ͍͠ͷʁ • खݩͰ࣮ߦ͍ͯͨ͠Dockerڥ͕ಉ͡ίϚϯυͰউखʹ Ϋϥυ্Ͱಈ͘ • Docker͕ೖͬͨԾϚγϯ͕EC2্ʹҰൃͰͰ͖Δ • Πϯελϯεͷཧ͕docker-machineίϚϯυͰ؆୯ • खݩͷϚγϯͷϦιʔεΛফඅ͠ͳ͍
• ֎෦͔ΒΞΫηεͰ͖ΔDockerڥΛ؆୯ʹ࡞ΕΔ
͜Μͳײ͡ $ docker-machine create --driver amazonec2 --amazonec2-access-key XXXXXXXX --amazonec2-secret-key XXXXXXXX
--amazonec2-ami ami-06c43a7df16e8213c --amazonec2-instance-type t3.large --amazonec2- region ap-northeast-1 --amazonec2-vpc-id vpc-xxxxxxxx --amazonec2- subnet-id subnet-xxxxxxxx --amazonec2-zone a docker-machine-test $ eval $(docker-machine env docker-machine-test) $ export COMPOSE_FILE=docker-compose-aws.yml $ docker-compose build $ docker-compose up $ docker-machine ssh docker-machine-test -L 3000:localhost:3000 $ docker-machine rm docker-machine-test
BizteXͷ։ൃͰ • productionڥ্ཱ͕͕ͪΔdocker-composeͷ ઃఆϑΝΠϧͱपลεΫϦϓτΛ࡞ • docker-composeίϚϯυΛ࣮ߦ͢Δ͜ͱͰ ҙͷϒϥϯνͷproductionϞʔυʹ͔ࣾΒ ΞΫηεͰ͖Δ
ҙ • EC2Πϯελϯεʹ՝͕ۚൃੜ͢Δ • ϩʔΧϧϑΝΠϧͷVOLUMEΛ͍ͬͯΔͱ جຊతʹμϝ(/home/ubuntuҎԼΛ͏) • ϙʔτΛϚοϐϯάޙʹԾϚγϯ͔Β ϩʔΧϧϚγϯʹϑΥϫʔσΟϯά͠ͳ͍ͱμϝ
։ൃڥͱͯ͠ͷ docker-machine...
େମ͍͚Δ • ϩʔΧϧͷϑΝΠϧΛࢹ͠ͳ͕Βrsync • ։ൃαʔόΛϙʔτϑΥϫʔσΟϯά • /home/ubuntu/appΛvolume େମग़དྷͨ $ fswatch
./ | while read file; do rsync -avzhe 'docker-machine ssh docker-machine-dev' --exclude='node_modules' --progress ./ : ; done $ docker-machine ssh docker-machine-dev -L 3000:localhost:3000
͕͜͜μϝ • EC2্Ͱมߋ͞ΕͨϑΝΠϧΛݕͯ͠ϩʔΧϧ సૹͰ͖ͳ͍ • ͔Γ͍͢ͷͩͱyarn.lockGemfile.lock • ϩʔΧϧͰDockerΛಈ͔͢ΑΓߋʹߟ͑Δ͜ͱ͕ ૿͑Δ •
ೝূωοτϫʔΫؔ࿈ͷઃఆ͕͋Δͱ໘
͏ͪΐͬͱؤுΕͰ͖ͦ͏
σϞ
·ͱΊ • Dockerͱ্खʹ͖߹͓͍͍ͬͯ͠ͱ͜Ζ͚ͩ ͍͍ͨ • docker-machine༥௨͕ޮ͔ͳ͍ͱ͜Ζ͋Δ ͚ͲҰॠͰDockerڥ͕Ͱ͖͍ͯ͢͝ɺศར • ࠓޙͰ͖Εdocker-machineͰ։ൃ͍ͨ͠