如果之前已经这样做过,我正在尝试获取一个 shell 配置程序以避免重新配置 VM 实例。
考虑以下 Vagrantfile:
Vagrant::Config.run do |config|
config.vm.define :minimal do |config|
# Base image
config.vm.box = "lucid32"
config.vm.box_url = "http://files.vagrantup.com/lucid32.box"
config.vm.provision :shell, :inline => "mkdir /tmp/foobar"
end
end
如果您运行vagrant up minimal
,它将创建该框并最初对其进行配置。如果您随后运行vagrant provision minimal
,它将尝试重新配置该框,但会失败(因为 /tmp/foobar 目录已经存在)。
有没有办法让 Vagrant 记住它过去是否配置过机器并避免以后重新配置它?
更多上下文:如果我运行vagrant up minimal
,重新启动我的主机,然后vagrant up minimal
再次运行,它将尝试重新配置该框并失败。这种情况经常发生,因为 VirtualBox 经常在我的主机上导致内核崩溃。