Vagrant 的相对新手,每次我想启动一个新的 Ubuntu VM 时都试图避免手动完成安装过程。
我通常的过程是,完成安装后,使用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
Run Code Online (Sandbox Code Playgroud)
这主要完成了这项工作——我可以在包更新时看到 VM 的输出——但是在它重新启动并vagrant ssh
进入之后,我的文件都没有出现在/vagrant
. 我假设由于某种原因没有重新安装共享文件夹。
我想我的第一个问题是:作为 shell 配置器的一部分更新这样的系统是否有意义?如果是这样,我如何重新启动来宾并仍然/vagrant
安装共享?