Como funciona o “vagrant up”

0
Em todos os lugares que eu vejo, eu leio que uma caixa vagabunda é apenas um "modelo" base do qual o vagabundo se baseia. E que uma vez que você execute "vagrant up" ele realmente cria uma cópia da caixa vagrant, então deve ser seguro para deletar o arquivo da caixa uma vez que você execute vagrant up e você ainda será capaz de usar isso máquina virtual.

No entanto, isso não parece funcionar na prática. Eu tenho uma caixa de base chamada ~ / .vagrant.d / boxes / precise32 e criei um arquivo vagrant com esse nome de caixa no arquivo e executei vagrant up. Agora, quando eu renomeio o arquivo para ~ / .vagrant.d / boxes / precise32.old e tento executar o "vagrant up" novamente, recebo um erro:

* The box 'precise32' could not be found.

Portanto, parece que a caixa base não é um modelo, mas, na verdade, a imagem do disco ao vivo que precisa ser mantida por perto. Então, por que toda a documentação diz o contrário? link

"Each project uses the box as a base only, so once the project VM is created, modifications can be made without affecting other projects which may use the same box."
    
por asolberg 08.11.2013 / 20:21

2 respostas

1

Once a box is removed, no new virtual machines based on that box can be created, since it is completely deleted off the filesystem, but existing virtual machines which have already been spun up will continue to function properly.

A execução de vagrant up novamente está criando uma nova máquina na caixa (modelo). Excluir a caixa causaria a falha de vagrant up .

If your environment is already running since you did an up in a previous step, just run vagrant reload, which will quickly restart your VM, skipping the import step.

Você deve conseguir executar vagrant reload .

    
por 08.11.2013 / 20:49
0

O Vagrant cria novas máquinas VirtualBox com a primeira execução de

vagrant up

importando um arquivo Box, que é basicamente uma versão compactada de um VBox Machine. O Vagrant extrai este arquivo na pasta "boxes" sob o diretório Vagrant em seu Home.

O Vagrant usa as informações extraídas para construir a Base da VM e sobrepõe isso a uma camada adicional para o sistema de arquivos da VM real para formar a VM utilizável.

Você pode replicar esse comportamento criando VMs com Storages compartilhados, em que a primeira VM atua como o "Modelo" de Base. Crie um instantâneo após a conclusão da configuração e configure as outras VMs para usar esse instantâneo para armazenamento. Cada nova VM criada com esse esquema herda o sistema básico e as configurações, mas as alterações são armazenadas separadamente como uma sobreposição para o Instantâneo inicial.

Para concluir, por enquanto, você pode excluir os arquivos Box originais após a importação, mas não as informações extraídas, porque eles agem como o Instantâneo original.

Para mais informações sobre o formato de arquivo, veja aqui: link

E para criar caixas, veja o projeto VeeWee.

    
por 29.12.2013 / 16:41