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-machineで簡単にデモ環境を構築する、あるいはローカルのリソースを消費し...
Search
yuki-yano
July 02, 2019
Programming
160
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
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
4
660
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.3k
ActionController meets Protocol Buffers
sorah
1
760
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
670
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
520
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
330
Event is what happens
moro
2
2.5k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
270
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
760
ChromeでローカルLLM
ryu1013
0
180
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
130
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
590
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
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Ͱ։ൃ͍ͨ͠