빈 상자를 로컬로 복사


27

VirtualBox에서 vagrant box를 실행 중이며 원본에 영향을 미치지 않고 사본을 변경할 수 있도록 (기존의 모든 구성 및 데이터와 함께) 사본을 만들어야합니다.

문제는 내 원래 상자가 파일 패키지로 제공되었다는 것입니다. 내가 작업하는 인터넷 연결이 매우 느려서 다른 사람이 자신의 vagrant 및 virtualbox 폴더를 내 컴퓨터에 복사했습니다. 따라서 없습니다

config.vm.box_url

쓰다.

어떻게하면됩니까?

편집 : 나는 Vagrant 1.2.2를 사용하고 있습니다

답변:


41

기존 VM에서 새 상자를 만듭니다.

  • Vagrant 파일이있는 디렉토리로 cd

  • run vagrant package기본적으로 package.box라는 상자 파일을 내 보냅니다.

  • 실행 vagrant box add foo package.box하여 기존 상자에 package.box를 추가하십시오. (VMWare가 아닌 VirtualBox를 사용한다고 가정)

  • 실행 vagrant box list이 추가되었습니다 확인합니다.

이제 새 폴더를 만들고 vagrant init정상적으로 실행 하고 상자를 다음과 같이 설정할 수 있습니다.

 config.vm.box = "foo"

새 VM은 이전 VM에 있던 정확한 데이터와 함께 나타납니다.

방랑자 문서


또한 Vagrant 제작자 Packer 라는 새로운 제품을 확인하십시오 . 동일한 작업을 수행하지만 vm을 다른 공급자 (Amazon, VirtualBox 요법)에 복사 할 수 있습니다.

최신 정보

최신 버전의 Vagrant에는 위의 단계를 불필요하게 만드는 두 가지 명령이 있습니다.

vagrant share
vagrant package

Vagrant shareatlas에 상자를 업로드
Vagrant package하면 .box 파일이 자동으로 생성됩니다.

자세한 내용을 보려면 입력하십시오 vagrant --help


훌륭한 방법 인 것 같지만 불행히도 다른 버전의
vagrant

@ xiankai 1.2.2를 실행 중이며 이러한 단계가 저에게 효과적이라는 것을 확인했습니다. 나는 명확성을 위해 내 대답을 약간 조정하고 다시 시도하고 어떤 오류가 발생했는지 알려주십시오.
spuder

아, 당신이 게시 한 링크를 본 후 vagrant package대신에 시도했는데 vagrant box package지금 올바른 길을 가고있는 것 같습니다!
xiankai

방랑 패키지가 정확합니다. 그건 내 오타였습니다.
spuder
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.