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
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
110
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
440
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
130
What We Talk About When We Talk About XP
m_seki
2
390
Oxlintはいいぞ(続)
yug1224
1
560
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
AIエージェント時代のコードレビューを設計する
nogu66
6
2.5k
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
350
AIの中の人になってみる
htkym
0
170
初めての模倣学習とVLA
natsutan
0
500
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
580
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Facilitating Awesome Meetings
lara
57
7.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
Un-Boring Meetings
codingconduct
0
410
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Chasing Engaging Ingredients in Design
codingconduct
0
300
Mobile First: as difficult as doing things right
swwweet
225
10k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
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Ͱ։ൃ͍ͨ͠