Eu tenho uma caixa vagrant instalada e funcionando (configurada com uma pilha LAMP). Preciso transferi-lo para outro PC. Como posso exportar? Acho que posso obter um arquivo (ou arquivos) que podem ser copiados para outro PC, para que possa executar algum comando para importar a caixa do vagrant.
virtual-machine
virtualbox
vagrant
Eugene
fonte
fonte
Respostas:
Você tem duas maneiras de fazer isso, vou chamá-lo de maneira suja e de maneira limpa :
1. O jeito sujo
Crie uma caixa a partir do seu ambiente virtual atual, usando o
vagrant package
comando:http://docs.vagrantup.com/v2/cli/package.html
Em seguida, copie a caixa para o outro PC, adicione-a usando
vagrant box add
e execute-avagrant up
normalmente.Lembre-se de que os arquivos em seu diretório de trabalho (aquele com o
Vagrantfile
) são compartilhados quando a máquina virtual é inicializada, portanto, você também precisa copiá-lo para o outro PC.2. A maneira limpa
Teoricamente, nunca deveria ser necessário exportar / importar com o Vagrant. Se você tiver a visão de usar provisionamento para configurar o ambiente virtual (chef, puppet, ansible) e um sistema de controle de versão como o git para seu diretório de trabalho, copiar um ambiente seria neste ponto simples como executar:
fonte
Meu disco rígido no Mac estava emitindo bipes no meio de um projeto, então decidi instalar um SSD. Eu precisava mover meu projeto de um disco para outro. Algumas coisas a considerar:
Isto é o que funcionou para mim:
Tive alguns problemas com as adições do VB Guest.
Eu os consertei com esta solução .
fonte
vagrant box list
: 0bin.net/paste/iCiaqNhU-i3bbfY2#-KDiXYcRFni1RNgNJhOBrIs/…Isso é bem simples
Embrulhe sua máquina vagabunda
vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box
copie a caixa para o seu controle remoto
init the box em sua máquina remota executando
vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box
Corre
vagrant up
fonte
VBoxManage list vms
. Depois você pode apenas copiar e fazer o que é dito nas etapas 2 e 4 do @Phil. :) Sim.scotch/box (virtualbox, 3.0)
). Meu comando - máquinas virtuais com identificador, por exemplo:"Win10 - SandBox" {bc251c06-501f-4c0f-bgfa-21f2815ba2cd}
A maneira mais fácil seria empacotar a caixa do Vagrant e, em seguida, copiá-la (por exemplo,
scp
oursync
) para o outro PC, adicioná-la evagrant up
;-)Para etapas detalhadas, verifique isto
=>
Existe alguma maneira de clonar uma caixa vagrant que já está instaladafonte
Nenhuma das respostas acima funcionou para mim. Estou há 2 dias tentando migrar uma máquina Vagrant + VirtualBox de um computador para outro ... É possível!
Primeiro, você precisa entender que a máquina virtual é separada de sua pasta de sincronização / compartilhada. Portanto, quando você embala sua máquina, está embalando-a sem seus arquivos, mas com os bancos de dados.
O que você precisa fazer:
1- Abra o CMD da máquina host do seu computador 1 (Linha de comando. Abra-o como Adminitrator com o botão direito -> "Executar como administrador") e vá para os arquivos instalados do vagrant. No meu caso: C: / VVV Você verá seu Vagrantfile e também estas pastas:
A pasta / www / é onde tenho minha pasta de sincronização com meus domínios de desenvolvimento. Você pode ter sua pasta de sincronização em outro lugar, apenas certifique-se de entender o que está fazendo. Além disso, / config e / database são pastas de sincronização.
2- execute este comando:
vagrant package --vagrantfile Vagrantfile
(Este comando faz um pacote de sua máquina virtual usando a configuração do Vagrantfile.)
Aqui está o que você pode ler na documentação do Vagrant sobre o comando:
https://www.vagrantup.com/docs/cli/package.html
Quando terminar, você terá um arquivo package.box.
3- Copie todos esses arquivos (/ config, / database, Vagrantfile, package.box, etc.) e cole-os no seu Computador 2 exatamente onde deseja instalar a sua máquina virtual (no meu caso D: / VVV).
Agora você tem uma cópia de tudo de que precisa no host do seu computador 2.
4- execute isto:
vagrant box add package.box --name VVV
(O --name é usado para nomear sua máquina virtual. No meu caso é chamado de VVV) (Você pode usar --force se já tiver uma máquina virtual com este nome e quiser sobrescrevê-la. (Use com cuidado!))
Isso irá descompactar sua nova máquina virtual vagrant.
5- Quando terminar, execute:
vagrant up
A máquina será instalada e você deverá vê-la no "gerenciador de caixa de máquina virtual Oracle". Se você não puder ver a máquina virtual, tente executar a caixa Oracle VM como administrador (clique com o botão direito -> Executar como administrador)
Agora você pode ter tudo certo, mas lembre-se de ver se seus anfitriões são como você esperava:
6- Talvez seja uma boa ideia copiar o arquivo host do seu Computador 1 para o seu Computador 2. Ou copie as linhas que você precisa. No meu caso, estes são os hosts de que preciso:
Onde 192.168.50.4 é o IP da minha máquina virtual e test.dev e vvv.dev são hosts de desenvolvimento.
Espero que isso possa ajudá-lo :) Ficarei feliz se você enviar um feedback sobre sua escolha.
Algumas particularidades do meu caso que você pode encontrar:
Quando executei o vagrant, houve um problema com o mysql, não estava funcionando. Tive que rodar no servidor virtual (clique com o botão direito na máquina virtual oracle -> Mostrar console):
apt-get install mysql-server
Depois disso, executei novamente o vagrant up e estava tudo funcionando, mas sem dados nos bancos de dados. Então eu fiz um mysqldump de todas as tabelas do Computador 1 e carreguei-as no Computador 2.
OUTRAS NOTAS: Minha máquina virtual não está exatamente no Computador 1 e no Computador 2. Por exemplo, eu fiz há algum tempo uma configuração interna para usar NFS (para acelerar as pastas de sincronização do servidor) e precisei executar novamente este comando no Computador 2 hospedeiro:
vagrant plugin install vagrant-winnfsd
fonte
Como afirmado em
Como posso mudar onde o Vagrant procura seu disco rígido virtual?
o estado da máquina virtual é armazenado em uma pasta VirtualBox predefinida. Copiar a máquina correspondente (pasta) além do seu projeto vagrant para o seu outro host deve preservar o estado da sua máquina virtual.
fonte
A partir de 2019, existe um subcomando:
vagrant box repackage
Você pode encontrar
name
provider
eversion
executandovagrant box list
A saída de
vagrant box repackage
é um arquivo chamado,package.box
que é basicamente um arquivo tgz cujo conteúdo pode ser listado como abaixo:fonte