이것은 큰 질문이므로 세 부분으로 나눌 것입니다.
방랑자
Vagrant는 다음을 통해 하나 이상의 가상 머신을 설정하는 데 사용됩니다.
- 미리 만들어진 이미지 가져 오기 ( "상자"라고 함)
- VM 별 설정 (IP 주소, 호스트 이름, 포트 전달, 메모리 등) 설정
- Puppet 또는 Chef와 같은 프로비저닝 소프트웨어 실행
VM을로드하고 VirtualBox 설정을 설정 한 후에는 소프트웨어를 설치하거나 머신을 설정하지 않습니다. 이를 VirtualBox의 스크립팅 엔진으로 생각하십시오.
VirtualBox에서 Vagrant를 사용하는 이유는 다음과 같습니다.
1. 간편한 멀티 VM 네트워크 설정
내가 읽은 Vagrant 고급 사용자 콘텐츠의 대부분은 동시에 여러 VM을 설정하는 것에 관한 것입니다. Vagrant는 이러한 설정을위한 단일 구성 파일을 제공하므로 하나의 명령으로 모든 구성 파일을 시작할 수 있습니다.
192.168.1. * 서브넷에서 고정 IP를 사용하여 서로 네트워킹하도록 3 개의 VM을 구성했다고 가정합니다. 이미 해당 서브넷을 사용하여 IP 주소를 나눠주는 위치에서 자신을 발견하면 VM이 충돌합니다. Vagrant를 사용하면 Vagrantfile을 편집하고 VM을 다시로드 할 수 있지만 VirtualBox를 사용하면 각 VM을 부팅하지 않고 내부에서 변경하지 않는 경우 각 VM에 대한 설정을 열어야합니다.
2. 소스 컨트롤
텍스트 파일에 설정을 지정하면 구성을 소스 제어하에 둘 수 있습니다. 지난 주에 일부 변경 사항이 있었으며 실수로 이미지가 손상 되었습니까? 변경 사항을 되돌리고 VM을 다시로드하십시오. VirtualBox 스냅 샷을 사용하여이 작업을 수행 할 수 있지만 Vagrantfile보다 훨씬 더 많은 공간을 차지합니다.
3. 다양한 플랫폼
http://vagrantbox.es 와 같은 사이트에는 많은 상자가 있습니다 . 이를 통해 동일한 환경을 설정하기 위해 동일한 프로비저닝을 적용하여 다양한 OS 또는 배포판을 사용할 수 있습니다. 이는 새로운 플랫폼에 대한 테스트 또는 지원을 추가하는 데 도움이 될 수 있으며 VirtualBox 만 사용하면 시간이 많이 걸립니다.
프로비저닝 소프트웨어 사용과 이미지 스냅 샷 사용에 대한 많은 주장이 있습니다. 추가 토론을 위해 Stephen Nelson-Smith의 훌륭한 기사 하루에 100 개의 웹 서버를 구축하는 방법을 알려 드리겠습니다 .