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
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
160
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.7k
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
220
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
250
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
180
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
430
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
240
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
590
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
400
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
560
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
The browser strikes back
jonoalderson
0
1.5k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Language of Interfaces
destraynor
162
27k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Un-Boring Meetings
codingconduct
0
390
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
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Ͱ։ൃ͍ͨ͠