【问题标题】:Vagrant Synced Folder without reload?Vagrant 同步文件夹无需重新加载?
【发布时间】:2017-09-15 02:23:53
【问题描述】:

我的主机上有一个位于 ~/ansible/provisioning/playbook.yml 的文件,它对应于来宾上的 /vagrant/provisioning/playbook.yml。每次我对主机上的文件进行更改时,更改不会显示在来宾上,除非我运行 vagrant reload 完全重新启动 VirtualBox VM。是否有另一种方法可以使用另一种文件系统类型(可能是 NFS)来实时同步文件?我的主机是 MacOS,来宾是 CentOS 7。我使用的是 vagrant 版本 2.0.0。

编辑:

我已将我的Vagrantfile 包含在pastebin 上。是的,看来我正在使用rsync

$ cat .vagrant/machines/default/virtualbox/synced_folders 
{"rsync":{"/vagrant":{"type":"rsync","guestpath":"/vagrant","hostpath":"/Users/timothy/Desktop/code/ansible","disabled":false,"__vagrantfile":true,"owner":"vagrant","group":"vagrant"}}}

除了将config.vm.synced_folder ".", "/vagrant", type: "virtualbox" 添加到我的 Vagrantfile 之外,我还必须运行 $ vagrant plugin install vagrant-vbguest

【问题讨论】:

  • 共享文件夹可能是用 rsync 输入的,你能把你的 Vagrantfile 给检查一下吗?
  • 我已经提供了 Vagrantfile。抱歉花了这么长时间。我在睡觉。

标签: vagrant


【解决方案1】:

考虑到启用了rsync,盒子centos/7默认有rsync,这已经讨论过before

在使用 rsync 时,您可以打开 rsync-auto 命令自动将任何新更改从主机推送到 VM。

如果你想使用默认的虚拟盒子共享文件夹功能,你可以在你的 Vagrantfile 中添加以下内容

config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

【讨论】:

  • 这行得通,尽管我必须运行 vagrant plugin install vagrant-vbguest 来安装缺少的内核模块和 virtualbox 驱动程序。谢谢。
【解决方案2】:

根据github上的this issue,最快的解决方案是使用geerlingguy/centos7 box。

此框将构建来宾添加。

经过测试 - 运行顺畅!

【讨论】:

    猜你喜欢
    • 2014-12-29
    • 2018-07-05
    • 2017-11-28
    • 1970-01-01
    • 2016-06-18
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多