Copiar caixa vagrant localmente


27

Eu tenho uma caixa vagrant em execução no VirtualBox e preciso fazer uma cópia (com toda a sua configuração e dados existentes), para que eu possa fazer alterações nela sem afetar o original.

O problema é que minha caixa original veio como um pacote de arquivos - a conexão com a Internet em que estou trabalhando é extremamente lenta, para que outra pessoa copie suas pastas vagrantes e de caixa virtual na minha máquina. Portanto, não há

config.vm.box_url

usar.

Como posso fazer isso?

Edit: Estou usando o Vagrant 1.2.2

Respostas:


41

Crie uma nova caixa a partir da sua vm existente:

  • CD no diretório com seu arquivo Vagrant

  • executar vagrant packageIsso exportará um arquivo de caixa chamado package.box por padrão

  • execute vagrant box add foo package.boxpara adicionar package.box às caixas existentes. (Supondo que você esteja usando o VirtualBox e não o VMWare)

  • executar vagrant box listpara verificar se foi adicionado.

Agora você pode simplesmente criar uma nova pasta, executar vagrant initnormalmente e configurar sua caixa para o seguinte:

 config.vm.box = "foo"

A nova VM girará com os dados exatos presentes na VM anterior.

Documentação do Vagrant


Além disso, confira um novo produto dos criadores do Vagrant chamado Packer . Ele fará o mesmo, mas permitirá que você copie seus vm's para outros provedores (Amazon, VirtualBox etc.)

Atualizar

As versões mais recentes do Vagrant têm dois comandos que tornam desnecessárias as etapas acima.

vagrant share
vagrant package

Vagrant shareO upload da sua caixa para o atlas
Vagrant package criará um arquivo .box automaticamente.

Para obter mais informações, digite vagrant --help


Parece ser uma ótima maneira, mas infelizmente eu estou usando uma versão diferente do vagabundo, enquanto seus comandos parecem ser para 1.0.x
xiankai

@xiankai Estou executando o 1.2.2 e verifiquei que essas etapas funcionam para mim. Fiz alguns ajustes na minha resposta para maior clareza, tente novamente e deixe-me saber quais são os erros que você recebe.
Spuder

Ah, depois de olhar para o link que você postou, tentei em vagrant packagevez de vagrant box packagee parece que estou no caminho certo agora!
Xiankai

pacote vagrant está correto. Isso foi um erro de digitação da minha parte.
Spuder
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.