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
VagrantとDockerで作る、ポータブル開発環境
Search
Tetsushi Hasesaku
May 08, 2018
Technology
2
810
VagrantとDockerで作る、ポータブル開発環境
Tetsushi Hasesaku
May 08, 2018
Tweet
Share
More Decks by Tetsushi Hasesaku
See All by Tetsushi Hasesaku
コードリファクタリングの手引き
hare8563
2
660
Dockerで作るRails実行環境
hare8563
0
310
Vagrantで作るRails開発環境構築
hare8563
0
300
Other Decks in Technology
See All in Technology
Langchain4j y Ollama - Integrando LLMs con programas Java @ Commit Conf 2025
deors
1
130
SRE NEXT CfP チームが語る 聞きたくなるプロポーザルとは / Proposals by the SRE NEXT CfP Team that are sure to be accepted
chaspy
1
570
ウォンテッドリーにおける Platform Engineering
bgpat
0
190
Android는 어떻게 화면을 그릴까?
davidkwon7
0
100
Webアプリを Lambdaで動かすまでに考えること / How to implement monolithic Lambda Web Application
_kensh
7
1.2k
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
790
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
150
50人の組織でAIエージェントを使う文化を作るためには / How to Create a Culture of Using AI Agents in a 50-Person Organization
yuitosato
6
3.2k
Ops-JAWS_Organizations小ネタ3選.pdf
chunkof
2
120
自分の軸足を見つけろ
tsuemura
2
600
2025年春に見直したい、リソース最適化の基本
sogaoh
PRO
0
460
システムとの会話から生まれる先手のDevOps
kakehashi
PRO
0
220
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
Scaling GitHub
holman
459
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Become a Pro
speakerdeck
PRO
27
5.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Making Projects Easy
brettharned
116
6.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
520
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
Side Projects
sachag
452
42k
Transcript
:EKVERX䛸(SGOIV䛷స䜛䚸䝫䞊 䝍䝤䝹㛤Ⓨ⎔ቃ ᰴᘧ♫䝸䝌䞊䝮ᬕబஂဴኈ
⮬ᕫ⤂ ᬕబஂဴኈ 䝝䝺䝃䜽䝔䝒䝅 ᰴᘧ♫䝸䝌䞊䝮ධ♫ᖺ┠ 䝃䞊䝞䝃䜲䝗䜶䞁䝆䝙䜰 ዲ䛝䛺ゝㄒ䛿' ㊃䛿䚸䝥䝻䜾䝷䝭䞁䜾䛸'+సᡂ
䜰䝆䜵䞁䝎 Ɣ ᪤Ꮡ䛾ၥ㢟Ⅼ Ɣ :EKVERX䛸䛿䠛(SGOIV䛸䛿# Ɣ 䛔᪉ Ɣ 䝯䝸䝑䝖䞉䝕䝯䝸䝑䝖 Ɣ
᭱⤊ⓗ䛺ᵓ⠏ Ɣ XMTW Ɣ 䜎䛸䜑
䛣䜣䛺䛣䛸䛳䛶䛒䜚䜎䛫䜣䛛䠛
䝁䞁䝟䜲䝷"6'." 1R64/" 䝣䝺䞊䝮䝽䞊䜽" 䝟䝑䜿䞊䝆" 㛤Ⓨ䛾๓ẁ㝵䛷䛴䜎䛵䛔䛶䛧䜎䛖
⮬ศ䛾⎔ቃ䛰䛸ື䛛䛺䛔
⎔ቃ⛣⾜䜈㛫䛜䛛䛛䜛
)'䛸䛛+')䛳䛶䜛䛛䜙䛭䜣䛺䛣 䛸䛺䛔䜘䛳䛶ᛮ䛳䛯䛡䛹䠊䠊䠊
䜔䛳䜁䜚䝁䞁䝋䞊䝹䛷䝂䝸䝂䝸䜔䛳䛶䛟䛾䛿㎞䛔䜘
䛚㔠䛾ၥ㢟䜒䛒䜛
䜒䛖䚸䛣䜣䛺䛣䛸䛷ᝎ䜎䛺䛟䛶䜒䛔䛔 䛷䛩
䛭䛾䛯䜑䛾䚸:EKVERX䛸(SGOIV䛷䛩
:EKVERX#
:EKVERX䛸䛿 Ɣ 䝩䝇䝖䝬䝅䞁䛛䜙䝀䝇䝖䝬 䝅䞁䜢౽䛻ᢅ䛖䛯䜑䛾 '0-䝒䞊䝹 Ɣ 䝁䞊䝗䝧䞊䝇䛷:1䛾タᐃ 䜢グ㏙ྍ⬟
(SGOIV#
(SGOIV䛸䛿 Ɣ 䝁䞁䝔䝘ᆺ௬⎔ቃ䜢ᐇ ⌧䛩䜛䛯䜑䛾䝒䞊䝹 Ɣ ᐇ⾜⎔ቃ䜢䝁䞊䝗䝧䞊䝇䛷 グ㘓䛧䛶䛚䛝䚸⮬ືⓗ䛻 ⎔ቃ䜢ᵓ⠏䛩䜛䛣䛸䛜䛷䛝 䜛
䝁䞁䝔䝘ᆺ௬⎔ቃ#
䝁䞁䝔䝘ᆺ௬⎔ቃ䛸䛿 Ɣ 䝩䝇䝖37 0MRY\ 䛸䜹䞊䝛䝹䜢ඹ᭷䛧䛯௬⎔ቃ ż 䜹䞊䝛䝹䜢ඹ᭷䛩䜛䛯䜑ྠ䛨37 0MRY\ ୖ䛷䛧䛛ື䛛䛫 䛺䛔
Ɣ ᚑ᮶䛾௬⎔ቃ 䝩䝇䝖ᆺ 䛸㐪䛔䚸௬䝬䝅䞁㒊ศ䜢䛯䛶䛺 䛔䛯䜑䜸䞊䝞䝦䝑䝗䛜ᑡ䛺䛔
䜲䝯䞊䝆 䝩䝇䝖䝬䝅䞁 䝩䝇䝖䝬䝅䞁 䝩䝇䝖ᆺ௬⎔ቃ 䝁䞁䝔䝘ᆺ௬⎔ቃ 䝩䝇䝖26 䝀䝇䝖26 䝀䝇䝖26 $33
$33 $33 $33 ௬䝬䝅䞁 ௬䝬䝅䞁 䝩䝇䝖26 䝁䞁䝔䝘 䝁䞁䝔䝘 $33 $33 $33 $33
⤖ᒁ䚸:EKVERX䛸(SGOIV䛳䛶䛾䛿ఱ 䛰䜘
:EKVERXĺ:1䜢⡆༢䛻ᵓ⠏䛩䜛䛯 䜑䛾䝒䞊䝹 (SGOIVĺ⎔ቃ䛤䛸䜰䝥䝸䜿䞊䝅䝵䞁 䜢ᐇ⾜䛩䜛䛯䜑䛾䝒䞊䝹
䛔᪉
:EKVERX䛸(SGOIV䛾⤌䜏ྜ䜟䛫 䝩䝇䝖䝬䝅䞁 :LQGRZV0DF/LQX[ 9LUWXDO%R[௬䝬䝅䞁 /LQX[ 'RFNHU䝁䞁䝔䝘 'RFNHU䝁䞁䝔䝘 䝍䞊䝭䝘䝹 䜶䝕䜱䝍
:EKVERX䛸(SGOIV䛾⤌䜏ྜ䜟䛫 䝩䝇䝖䝬䝅䞁 :LQGRZV0DF/LQX[ 9LUWXDO%R[௬䝬䝅䞁 /LQX[ 'RFNHU䝁䞁䝔䝘 'RFNHU䝁䞁䝔䝘 䝍䞊䝭䝘䝹 䜶䝕䜱䝍
䛣䛾㒊ศ䜢*LW⟶⌮䛧䚸䛹䛾⎔ቃ䛷䜒ඹ᭷䛷䛝䜛䜘䛖䛻䛩䜛
:EKVERX䝉䝑䝖䜰䝑䝥 9DJUDQW)LOH䛾సᡂ &/,䛛䜙90సᡂ 90䜈䛾66+䚸䝕䜱䝺䜽䝖䝸ඹ᭷䛺䛹䛷䜰䝥䝸䜿䞊䝅䝵䞁䛾㛤Ⓨ
:EKVERX*MPI 90䛾ᵓᡂ䜢グ㏙䛧䛯䚸䝇䜽䝸䝥䝖 9$*5$17),/(B$3,B9(56,21 9DJUDQWFRQILJXUH 9$*5$17),/(B$3,B9(56,21 GR_FRQILJ_ FRQILJYPER[ FHQWRV
FRQILJYPV\QFHGBIROGHUYDJUDQWW\SHYLUWXDOER[ FRQILJYPQHWZRUNIRUZDUGHGBSRUWJXHVWKRVWLGKWWS FRQILJYPSURYLGHUYLUWXDOER[GR_Y_ YQDPH YPBQDPH YFSXV YPHPRU\ HQG HQG ᵓ⠏䛾䝧䞊䝇䛻䛺䜛⎔ቃ ER[ ᵓ⠏䛩䜛䝬䝅䞁䛾ᵓᡂ
:EKVERX*MPI Ɣ %R[ ż సᡂ䛩䜛90䛾䝧䞊䝇䛸䛺䜛䜒䛾 ż 9DJUDQW)LOH䛻᭩䛝㎸䜐䛸䚸⮬ືⓗ䛻YDJUDQWER[HV䛛 䜙䝎䜴䞁䝻䞊䝗䛧䛶ᵓ⠏䛷䛝䜛 Ɣ
3URYLGHU ż 90ᵓ⠏䛾ᵓ⠏ඛ ż ᇶᮏ䛿9LUWXDO%R[䛰䛜䚸90:DUH䜔(&䛺䛹䜢ᣦᐃ䛩 䜛䛣䛸䜒ྍ⬟
'0-䛛䜙:1సᡂ 䝁䝬䞁䝗䜢ᐇ⾜䛧䛶䚸90䛾᧯స䜢⾜䛖 YDJUDQWXS 90䛾సᡂ䞉㉳ື YDJUDQWKDOW 90䛾Ṇ YDJUDQWUHORDG 90䛾㉳ື YDJUDQWGHVWUR\
సᡂ䛧䛯90䛾ᾘཤ YDJUDQWVVK 90䜈䛾66+᥋⥆
䜰䝥䝸䜿䞊䝅䝵䞁㛤Ⓨ VVK䛷䝸䝰䞊䝖᥋⥆ 9LUWXDO%R[䛾ඹ᭷ᶵ⬟䛷⦅㞟
(SGOIV䝉䝑䝖䜰䝑䝥 'RFNHU)LOH䜢సᡂ 'RFNHU䜲䝯䞊䝆䜢䝡䝹䝗 'RFNHU䝁䞁䝔䝘䜢㉳ື䛧䚸䜰䝥䝸䜿䞊䝅䝵䞁ᐇ⾜
(SGOIV*MPI ⎔ቃᵓ⠏䛾䛯䜑䛾ᡭ㡰䜢䜎䛸䜑䛯䝇䜽䝸䝥䝖 )520FHQWRV $SSOLFDWLRQ (19XVHUXVHU (19SDVVZRUGSDVVZUG LQVWDOOVXGR 581\XPLQVWDOOVXGR\ 86(5
581XVHUDGGKRPHGLUKRPH^XVHU`FUHDWHKRPHVKHOOELQEDVK^XVHU` 581HFKR^XVHU`^SDVVZRUG` _FKSDVVZG 581HFKR^XVHU`$// $// 123$66:'$// !!HWFVXGRHUVG^XVHU` 86(5^XVHU` (19+20(KRPH^XVHU` &0'SLQJF 䝧䞊䝇䜲䝯䞊䝆タᐃ ᐇ⾜⎔ቃኚᩘタᐃ ᐇ⾜䝁䝬䞁䝗 ㉳ືᐇ⾜䝁䝬䞁䝗
(SGOIV*MPI )520LPDJH! 䝧䞊䝇䛻䛺䜛䜲䝯䞊䝆䜢タᐃ 86(5XVHU! ᐇ⾜䝴䞊䝄䛾ษ䜚᭰䛘 (19NH\!YDOXH! 䜲䝯䞊䝆䝡䝹䝗䛻⏝䛩䜛⎔ቃኚᩘ䜢タᐃ 581FRPPDQG! 䜲䝯䞊䝆䝡䝹䝗䛻ᐇ⾜䛩䜛䝁䝬䞁䝗䜢タᐃ
&0'FRPPDQG! 䝁䞁䝔䝘సᡂ䛻ᐇ⾜䛩䜛䝁䝬䞁䝗䜢タᐃ &23<VUF!GHVW! VUF!䛛䜙GHVW!䛻䝣䜯䜲䝹䜢䝁䝢䞊䛩䜛 $''VUF!GHVW! VUF!䛛䜙GHVW!䛻䝣䜯䜲䝹䜢䝁䝢䞊䛩䜛 WDU䝣䜯䜲䝹䛾ᒎ㛤䜔䚸䝸䝰䞊䝖 85/䛛䜙䛾ྲྀᚓ 䜢⾜䛔䛯䛔ሙྜ䛾䜏⏝䛩䜛
(SGOIV䜲䝯䞊䝆 Ɣ 䝁䞁䝔䝘䜢ᐇ⾜䛩䜛䛸䛝䛻ᚲせ䛸䛺䜛䝣䜯䜲䝹䝅䝇䝔䝮 Ɣ 'RFNHU)LOH䛛䜙䝡䝹䝗䛥䜜䜛 䝧䞊䝇䜲䝯䞊䝆 (19 581 &23<
581 581 &0' ᭱⤊ⓗ䛺'RFNHU䜲䝯䞊䝆 'RFNHU)LOH 䝁䞁䝔䝘స ᡂ
(SGOIV䝁䞁䝔䝘䛾㉳ື 䝺䝆䝇䝖䝸 GRFNHUUXQ 䝻䞊䜹䝹䛾䜲䝯䞊䝆 䝸䝰䞊䝖䛾䜲䝯䞊䝆 GRFNHU䜶䞁䝆䞁 䝁䞁䝔䝘 䝸䝰䞊䝖䛛䜙SXOO䛧䛶సᡂ
(SGOIV䛾䝁䝬䞁䝗 GRFNHUEXLOG GRFNHU䜲䝯䞊䝆䛾䝡䝹䝗 GRFNHUUXQ GRFNHU䝁䞁䝔䝘䛾㉳ື GRFNHUVWDUW Ṇ≧ែ䛾䝁䞁䝔䝘䛾㉳ື GRFNHUVWRS GRFNHU䝁䞁䝔䝘䛾Ṇ
GRFNHUUP GRFNHU䝁䞁䝔䝘䛾๐㝖
䝯䝸䝑䝖䞉䝕䝯䝸䝑䝖
:EKVERX䛸(SGOIV䜢䛖䝯䝸䝑䝖 Ɣ 㛤Ⓨ⎔ቃ䛾䝫䞊䝍䝡䝸䝔䜱ᛶ䛜㧗䜎䜛 ż 䛹䛣䛾䚸ㄡ䛾䚸䛹䜣䛺⎔ቃ䛷䜒ᵓ⠏ྍ⬟ Ɣ 㛤Ⓨ⎔ቃ䛾䝞䞊䝆䝵䞁⟶⌮䛜ྍ⬟ ż :EKVERX*MPI(SGOIV*MPI䜢+MX䛷⟶⌮ Ɣ
䝕䜱䝺䜽䝖䝸ඹ᭷䛷䝩䝇䝖䛸㛤Ⓨ⎔ቃ㛫䛷ຠ⋡ⓗ䛻సᴗ䛜ྍ ⬟
+MX䛷⟶⌮䛧䛶䜛䛯䜑䚸ᵓ⠏䛜⡆༢ *LW䛛䜙FORQH䛩䜜 䜀䛩䛠䛻స䜜䜛
ဨ䛾⎔ቃ䛜୍⥴䛺䛾䛷䚸⮬ศ䛰䛡ື䛛䛺䛔䛣䛸䛿䛺䛔
:MVXYEP&S\䛸:EKVERX䛥䛘ධ䜜䜜䜀䛔䛔
䝁䞁䝋䞊䝹䜢䜔䜑䛶䚸ዲ䛝䛺䜶䝕䜱䝍䛜䛘䜛
ᙜ↛䚸↓ᩱ )5((
:EKVERX䛸(SGOIV䜢䛖䝕䝯䝸䝑䝖 Ɣ 䝁䞊䝗సᡂ䛻䛛䛛䜛Ꮫ⩦䝁䝇䝖 ż ≉䛻䚸䝛䝑䝖䝽䞊䜽⣔䛾▱㆑䛜䛒䜛⛬ᗘᚲせ Ɣ 䝩䝇䝖䝬䝅䞁䛤䛸䛾⣽䛛䛺ᕪ␗ ż ඹ᭷᪉ἲ Ŷ
6W]RG:MVXYEP&S\71& Ɣ 」㞧䛺ᵓᡂ䛜䜔䜚䛻䛟䛔
᭱⤊ⓗ䛺ᵓᡂ
᭱⤊ⓗ䛺ᵓᡂ 䝩䝇䝖䝬䝅䞁 PDF26 䝀䝇䝖䝬䝅䞁 &HQW26 'RFNHU䝁䞁䝔䝘 䜰䝥䝸䜿䞊䝅䝵䞁 'RFNHU䝁䞁䝔䝘
䜰䝥䝸䜿䞊䝅䝵䞁 'RFNHU䝁䞁䝔䝘 '%䝃䞊䝞 'RFNHU䝁䞁䝔䝘 5HGLV䝃䞊䝞 KWWSORFDOKRVW 䝫䞊䝖䝣䜷䝽䞊䝗 ඹ᭷䝕䜱䝺䜽䝖䝸 YROXPH䝬䜴䞁䝖
8MTW
䝕䜱䝺䜽䝖䝸ඹ᭷䛩䜛䛾䛿䛔䛔䛡䛹䚸 RSHICQSHYPIW䛸䛛䛿ඹ᭷䛧䛺䛟䛶 䛔䛔䛺
WYHSQSYRXFMRH WVG" HIWX"
QSYRX䛾FMRH䜸䝥䝅䝵䞁 Ɣ WVG"䝕䜱䝺䜽䝖䝸䜢 HIWX"䝕䜱䝺䜽䝖䝸䛻䝬䜴䞁䝖䛩䜛 Ɣ ඹ᭷䝕䜱䝺䜽䝖䝸ෆ䛾RSHICQSHYPIW䛸䛛䜢䝀䝇䝖37ෆ䛾䝕䜱 䝺䜽䝖䝸䛻䝬䜴䞁䝖䛩䜜䜀䚸ඹ᭷䛥䜜䛺䛔 Ɣ 92-<䝗䝯䜲䞁䝋䜿䝑䝖䛺䛹䚸:MVXYEP&S\䛾ඹ᭷㓄ୗ䛻స䜜䛺䛔 䜒䛾䛻ᑐ䛧䛶䜒䛘䜛
䝩䝇䝖䝬䝅䞁 ඹ᭷ 䝀䝇䝖䝬䝅䞁 QSYRX䛾FMRH䜸䝥䝅䝵䞁 QRGHBPRGXOHV PRXQW䛧䛶䛔䜛䛯䜑ᐇయ 䛿ู YLUWXDOER[䛾ඹ᭷ᶵ ⬟䛷ඹ᭷
0MRY\䛾䜰䝥䝸䛿䛘䜛䛡䛹䚸䛳䛶 䜛䛾䛜;MRHS[W䛾䝞䜲䝘䝸䛺䜣䛰 䜘䛽
;MRI ;MRI-W2SXER)QYPEXSV 䛸䛿# Ɣ 437-<⎔ቃ䛷;MRHS[W䜰䝥䝸䜿䞊䝅䝵䞁䜢㉳ື䛥䛫䜛䛯䜑 䛾䝒䞊䝹 ż 䛒䛟䜎䛷䜶䝭䝳䝺䞊䝍䛷䛿䛺䛟䚸ᛶ䛾䛒䜛䝺䜲䝲䞊䜢 ᥦ౪䛩䜛䛰䛡 Ɣ
䛩䜉䛶䛾;MRHS[W䜰䝥䝸䜿䞊䝅䝵䞁䛜ື䛟䜟䛡䛷䛿䛺䛔䛯 䜑ὀព
䜎䛸䜑
䜎䛸䜑 Ɣ :EKVERX䛿௬䝬䝅䞁䜢స䜛䛯䜑䛾䝒䞊䝹䚸(SGOIV䛿䜰䝥䝸䜿䞊䝅䝵䞁 䜢⎔ቃ䛤䛸ᐇ⾜䛩䜛䛯䜑䛾䝒䞊䝹 Ɣ :EKVERX*MPI(SGOIV*MPI䛸䛔䛳䛯䝔䜻䝇䝖䝧䞊䝇䛷⎔ቃ䜢ᐃ⩏䛧䛶䚸䛭 䜜䜢+MX䛷⟶⌮䛧䛶䛖 Ɣ :EKVERX(SGOIV䜢䛖䝯䝸䝑䝖䛿䚸⎔ቃ䛾䝫䞊䝍䝡䝸䝔䜱ᛶ䚸䝞䞊䝆䝵䞁
⟶⌮䚸సᴗຠ⋡䛸䛔䛳䛯䛣䛸䛜䛒䜚䚸䛔䜎䜎䛷ᢪ䛘䛶䛔䛯ၥ㢟䜢ゎỴ 䛩䜛䛣䛸䛜ฟ᮶䜛 Ɣ 㠃䚸୍䛛䜙స䜛䛻䛿Ꮫ⩦䝁䝇䝖䛜㧗䛔䛯䜑䛒䜛⛬ᗘ㛫䜢䛸䜛ᚲせ 䛜䛒䜛
䛤Ύ⫈䛒䜚䛜䛸䛖䛤䛦䛔䜎䛧䛯