Vagrant error when mount synced folder
在 Vagrantfile 里面增加了 config.vm.synced_folder "./workspace", "/home/vagrant/work"
内容后重新 reload, 报错如下:
1 | Vagrant was unable to mount VirtualBox shared folders. This is usually |
参考解决方案: https://github.com/hashicorp/vagrant/issues/6769
1 | vagrant plugin install vagrant-vbguest |
这里有一些内容需要注释一下
在解决这个问题之前, 一直认为是我的 Vagrantfile 写的有问题, 因为默认情况下会将主机 Vagrantfile 所在文件夹同步到虚拟机的 /vagrant 目录下, 而且不会报错.
但是经过测试, 在开启虚拟机后, 在主机的 Vagrantfile 文件夹创建文件不会同步到虚拟机的 /vagrant 目录下, 而且, 在虚拟机的 /vagrant 目录下创建的文件也不会同步到主机的 Vagrantfile 所在目录.
这就引起一个问题, 这个映射关系是否是错误的?
在解决上面问题之后, 启动发现, 原有映射与新创建映射的区别:
1 | # 这一行是原有将主机 Vagrantfile 文件所在目录映射到虚拟机 /vagrant 目录的日志 |
经测试, 主机 Vagrantfile 所在文件夹仍然无法与虚拟机 /vagrant 目录同步数据
但是虚拟机 /home/vagrant/work 目录已经可以与主机 /Users/username/vagrant-env/workspace 目录同步数据了
!!!敲黑板!!!
问题就出现在, 默认的文件夹映射(Rsyncing folder) 应该只是将文件拷贝到指定的目录下, 而不是真正映射.
而通过 synced_folder 映射的目录才是真正的映射, 可以在机器运行过程中, 在主机与虚拟机之间同步数据.