我已经创建了一个在 Windows 主机上运行的 Ubuntu 的 puppet/vagrant/VirtualBox 生成安装;见https://bitbucket.org/dmenne/rstudio-shiny-server-on-ubuntu了解详情。这允许用户在 Windows 上运行 RStudio 和 Shiny 服务器。在 Vagrantfile
, 我有
config.vm.synced_folder "shiny-server", "/srv/shiny-server", create:true
创建共享文件夹。当我用 vagrant up
启动虚拟机时或 vagrant reload
,一切正常。
一位客户不想安装 vagrant 等,并要求使用 Windows 上的 VirtualBox Manager 启动/停止独立的 VM。但是,在我关闭 之后vagrant-booted VM Box,我的同步文件夹不会在 VM 重新启动时再次连接/装载,即使它们在 VirtualBox 管理器的共享文件夹对话框中正确显示也是如此。
我如何收缩包装一个 Vagrant 生成的虚拟机,以便它可以在没有 Vagrant 的情况下启动/停止?
2015 年 3 月编辑:
我仍然无法解决这个问题。当我强制自动挂载时,在恢复时 media/sf_<folder>
已同步,而不是所需的文件夹。我如何强制 VirtualBox 使用来自 Vagrantfile
的同步模板?重启后?
以及如何在不手动执行的情况下强制在 vagrant 中自动挂载。
最佳答案
经过一些进一步的调试并且在 google/vagrant 论坛上没有对类似查询的响应:
- 当您在 puppet 中使用同步文件夹时,您必须使用
vagrant up
或vagrant reload
重新启动 VirtualBox - 如果您使用 VirtualBox GUI 停止/重新启动,automount 会错误地恢复同步的文件夹,即恢复到/media/sf_;如果不使用
vagrant reload
,这是无法纠正的, - 没有
vagrant
的唯一选择是将状态保存在 VirtualBox 中 (CTRL-V
)。重新启动后,同步的文件夹将正确恢复。但是,强制最终用户始终手动保存状态可能是不可能的。
要使用永久同步文件夹,您必须使用upstart
或类似的方法;仅使用 Vagrantfile
是做不到的。
另见 Alvaro 的回复: https://groups.google.com/forum/#!topic/vagrant-up/oBU0kqPLzYk
关于windows - VirtualBox 重启后重新连接来自 Vagrant 的同步文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24693503/