Как перезагрузить гостя Vagrant от провайдера?

368
DarkMorford

Относительный новичок в Vagrant, пытающийся избежать процесса установки вручную каждый раз, когда я хочу раскрутить новую виртуальную машину Ubuntu.

Мой обычный процесс, после завершения установки, состоит в том, чтобы обновить все программное обеспечение машины apt-get updateи apt-get dist-upgrade -yзатем перезагрузить его, чтобы все обновления вступили в силу. Для этого я сделал Vagrantfile примерно так:

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 

Это в основном делает работу - я вижу выходные данные с виртуальной машины при обновлении пакетов - но после перезагрузки, когда я vagrant sshв нее, ни один из моих файлов не появляется /vagrant. Я предполагаю, что общая папка не перемонтируется по какой-то причине.

Наверное, мой первый вопрос: имеет ли смысл обновлять систему таким образом, как часть поставщика оболочки? И если да, как я могу перезагрузить гостя и при этом /vagrantсмонтировать общий ресурс?

1

1 ответ на вопрос

1
l0b0

Это именно то, для чего нужен плагин vagrant-reload . После установки просто добавьте config.vm.provision :reloadв тот момент в настройке, которую вы хотите перезагрузить.

Похожие вопросы