Ainda estou aprendendo um pouco sobre o Vagrant, mas aqui vai. Eu tenho uma VM convidada bastante padrão que possui algum software instalado. Gostaria de acessar alguns diretórios dentro do convidado de forma leitura/gravação. Então adicionei a configuração para uma pasta compartilhada da seguinte forma:
config.vm.share_folder "test", "/home/vagrant/test", "./test"
Lembre-se de que tenho conteúdo em minha pasta de teste. Preciso ser capaz de visualizar e atualizar isso no host. No entanto, quando eu 'recarrego vagabundo' com o diretório host vazio chamado test, todo o conteúdo do meu convidado é removido.
É possível criar uma pasta compartilhada na qual eu possa acessar o conteúdo do convidado sem destruir o conteúdo existente?
Responder1
Caso outra pessoa tenha esse problema, as pastas compartilhadas são de fato sincronizadas em ambas as direções (do host para o convidado e do convidado para o host), mas isso depende da type
opção.
No Linux, isso funciona imediatamente, sem especificar a type
opção:
- Faça login na máquina virtual.
- Adicione um arquivo na sua pasta compartilhada, por exemplo
/home/vagrant/somefile
. - Verifique sua pasta host e você encontrará o novo arquivo.
O problema surge quando você tenta sincronizar uma pasta após provisionar a máquina virtual. Nesse caso, a pasta guest será sincronizada com a pasta host, que está vazia.
Leia os diferentestipos de pastas compartilhadas.