Como faço para reiniciar um convidado Vagrant de um provisionador?

1

Novato relativo ao Vagrant aqui, tentando eliminar o processo de instalação manualmente toda vez que eu quero criar uma nova VM Ubuntu.

Meu processo usual, depois de concluir a instalação, é atualizar todo o software da máquina com apt-get update e apt-get dist-upgrade -y e, em seguida, reinicializá-lo para garantir que todas as atualizações entrem em vigor. Para esse fim, eu fiz um Vagrantfile assim:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get dist-upgrade -y
    shutdown -r now
  SHELL
end

Isso faz principalmente o trabalho - eu posso ver a saída da VM como a atualização de pacotes - mas depois que ele reinicia e eu vagrant ssh nele, nenhum dos meus arquivos aparece em /vagrant . Estou assumindo que a pasta compartilhada não está sendo remontada por algum motivo.

Acho que minha primeira pergunta é: faz sentido atualizar o sistema dessa maneira como parte de um provisionador de shell? E, em caso afirmativo, como reinicializar o guest e ainda ter o compartilhamento /vagrant montado?

    
por DarkMorford 12.07.2018 / 03:10

1 resposta

1

É exatamente isso que o plugin vagrant-reload serve. Depois de instalar, basta adicionar config.vm.provision :reload no ponto do provisionamento que você deseja recarregar.

    
por 12.07.2018 / 03:55