Vagrant 重新加载synced_folder

标签 vagrant vagrantfile

这是我的 Vagrantfile。

config.vm.define :web do |web|
 web.vm.box = "ubuntu/trusty64"
 web.vm.network "private_network", ip: "192.168.100.111"
 web.vm.network "forwarded_port", guest: 22, host: 4444,  id: "ssh", auto_correct: true  
 web.vm.synced_folder "./web/", "/srv/"

web.vm.provider "virtualbox" do |vb|
 vb.gui = true
 vb.name = "web"
 vb.cpus = 2     
 vb.memory = "1024"
end
end

我的 VM 工作正常,但我需要更改 web.vm.synced_folder "./web/", "/srv/"到另一个路径。我试着改变它而不是 Vagrant 重装 , Vagrant 条款 , vagrant reload web --provision ,以及所有其他可能的变体。这些 Action 不会有效果。更改同步文件夹的唯一方法是销毁 VM 并再次启动它。这不是我想要的。我需要在不破坏 VM 的情况下重新加载配置,这就是它对我不起作用的问题。

最佳答案

这不是我对同步文件夹的体验,因此您看到这种行为非常奇怪。来自 Vagrant docs ...

Synced folders are automatically setup during vagrant up and vagrant reload.



我刚刚用我的一个 Vagrant 盒子对其进行了测试,效果很好。我更改了本地文件夹,做了一个 vagrant reload ,然后在框中选中它。更改远程文件夹后同上。

鉴于您的情况,您可以尝试一个选项。您可以禁用同步文件夹,运行 vagrant reload ,更新并重新启用它,然后 vagrant reload再次。这是禁用同步文件夹的方法...
web.vm.synced_folder "./web/", "/srv/", disabled: true

或者你可以评论该行,运行 vagrant reload ,取消注释并更改它,然后 vagrant reload再次。

我无法保证这些方法,因为我无法重现您的问题。无论如何,它只对我有用。

关于 Vagrant 重新加载synced_folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34639407/

相关文章:

linux - CoreOS Vagrant 虚拟盒 SSH 密码

amazon-web-services - Vagrant +AWS : error downloading 'dummy'

Vagrant 中的语法错误

centos - "systemctl: command not found"在新的 CentOS 6.5 安装上带有 vagrant

Vagrant 和同步文件夹 : How to set the owner to a user other than the default vagrant user?

php - 是否可以在使用 puPHPet 提供的环境中升级 PHP?

elasticsearch - 重启vagrant box后如何自动启动服务?

ssh - Vagrant 拒绝许可

docker - 无法从 ubuntu docker 容器内部 ping 谷歌

vagrant - Docker的 Vagrant 供应