9. Vagrant 프로젝트 셋업
• VM 을 만들기 위한 이미지가 필요
•BOX
• 기본적으로 root파일시스템, Ram, Disk 사
이즈 같은 설정을 가지고 있는 기본 이미지
• Usage: vagrant box add <name> <url>
• 저장경로: %HOMEPATH%.vagrant.dboxes
16. 어떻게 동작하는 거지?
• vagrangfile 로드 순서
• gem 디렉토리의 Vagrantfile이 로드됩니다. 이것은 모든 디폴
트들을 포함하고 수정되지 않습니다.
• box가 지정이 되었다면 box 디렉토리의 Vagrantfile이 로드됩
니다. 만약 패키징할 때 --vagrantfile 옵션을 사용했다면, 이것
은 그 box 안에 패키지된 vagrantfile입니다.
• home 디렉토리(디폴트 ~/.vagrant.d/)의 vagrantfil가 있다면 그
것이 로드됩니다. 이 vagrantfile에 사용자에게 특화될 수 있는
몇 가지 디폴트값을 설정할 수 있습니다.
• 프로젝트 디렉토리의, 사용자가 수정할 수 있는 vagrantfile이
로드됩니다.
18. MULTI VM
Vagrant::Config.run do |config|
config.vm.define :web do |web_config|
web_config.vm.box = "web"
web_config.vm.forward_port
end
8080, 8088
config.vm.define :db do |db_config|
db_config.vm.box = "db"
db_config.vm.forward_port
end
end
cmd> vagrant up web
cmd> vagrant ssh web
3306, 3306
19. Host-only Networking
Vagrant::Config.run do |config|
config.vm.define :web do |web_config|
# ...
web_config.vm.network :hostonly, "10.11.12.13"
end
config.vm.define :db do |db_config|
# ...
db_config.vm.network :hostonly, "10.11.12.14"
end
end
20. 정리
• 실 서버 환경에 맞출려면 역시 어렵다.
• 한명이 총대 매고 box 만들면 나머지는 오
염 걱정없이 사용할 수 있다.