流浪者重新加载 synced_folder
vagrant reload synced_folder
这是我的 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 reload、vagrant provision、vagrant reload web --provision、以及所有其他可能的变体。这些动作不会有效果。更改同步文件夹的唯一方法是销毁 VM 并重新启动它。这不是我想要的。我需要在不破坏 VM 的情况下重新加载配置,这就是它对我不起作用的问题。
这不是我使用同步文件夹的经验,所以您看到这种行为很奇怪。从 Vagrant docs...
Synced folders are automatically setup during vagrant up and vagrant reload.
我刚刚用我的一个 Vagrant 盒子对其进行了测试,它运行良好。我更改了本地文件夹,做了一个vagrant reload
,然后在框上进行了检查。更改远程文件夹后同上。
鉴于您的情况,您可以尝试一个选项。您可以禁用同步文件夹,运行 vagrant reload
,更新并 re-enable 它,然后再次 vagrant reload
。以下是禁用同步文件夹的方法...
web.vm.synced_folder "./web/", "/srv/", disabled: true
或者您可以注释行 运行 vagrant reload
,取消注释并更改它,然后再次 vagrant reload
。
我不能保证这些方法,因为我无法重现您的问题。无论如何,它对我有用。
您需要将额外的 VBoxGuesstAdditions 添加到您的 VBox 才能拥有完全同步的文件夹。文件夹将与您的主机持续同步,因此主机和来宾都可以观察到对主机和来宾文件的修改。参见 https://www.virtualbox.org/manual/ch04.html。
我遇到了类似的问题,在我的情况下,通过确保主机上仍然存在以前的文件夹来解决问题。否则,我会收到一个错误,指出它不存在(它不存在,因为这就是为什么我想使用不同的主机文件夹!)。
这是我的 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 reload、vagrant provision、vagrant reload web --provision、以及所有其他可能的变体。这些动作不会有效果。更改同步文件夹的唯一方法是销毁 VM 并重新启动它。这不是我想要的。我需要在不破坏 VM 的情况下重新加载配置,这就是它对我不起作用的问题。
这不是我使用同步文件夹的经验,所以您看到这种行为很奇怪。从 Vagrant docs...
Synced folders are automatically setup during vagrant up and vagrant reload.
我刚刚用我的一个 Vagrant 盒子对其进行了测试,它运行良好。我更改了本地文件夹,做了一个vagrant reload
,然后在框上进行了检查。更改远程文件夹后同上。
鉴于您的情况,您可以尝试一个选项。您可以禁用同步文件夹,运行 vagrant reload
,更新并 re-enable 它,然后再次 vagrant reload
。以下是禁用同步文件夹的方法...
web.vm.synced_folder "./web/", "/srv/", disabled: true
或者您可以注释行 运行 vagrant reload
,取消注释并更改它,然后再次 vagrant reload
。
我不能保证这些方法,因为我无法重现您的问题。无论如何,它对我有用。
您需要将额外的 VBoxGuesstAdditions 添加到您的 VBox 才能拥有完全同步的文件夹。文件夹将与您的主机持续同步,因此主机和来宾都可以观察到对主机和来宾文件的修改。参见 https://www.virtualbox.org/manual/ch04.html。
我遇到了类似的问题,在我的情况下,通过确保主机上仍然存在以前的文件夹来解决问题。否则,我会收到一个错误,指出它不存在(它不存在,因为这就是为什么我想使用不同的主机文件夹!)。