执行 config.vm.synced 时,Vagrant guest 的 /var/www 会冻结

执行 config.vm.synced 时,Vagrant guest 的 /var/www 会冻结

我查看了 Vagrant 网站上的所有 synced_folder 配置......

主机操作系统:Windows 7 客户机操作系统:Ubuntu

这是我的 Vagrantfile 配置:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|  
    config.vm.box = "base"
    config.vm.hostname = "daison.vagrant.me"
    config.vm.network :forwarded_port, guest: 80, host: 8080
    config.vm.network :private_network, ip: "192.168.33.10"
    config.vm.synced_folder ".", "/vagrant", disabled: true
    #config.vm.synced_folder "C:\\Users\\daison\\vagrant\\src\\www", "/var/www"
end

我也是C:\Users\daison\vagrant\> vagrant reload

127.0.0.1:8080 or 192.168.33.10 or daison.vagrant.me:8080我可以通过运行以下命令访问我的 Ubuntu 的 apache:在我的主人

因此,通过删除commented synced_folder并重新加载 vagrant。所有 IP 地址和我的虚拟主机的结果是无法访问--我的主机

我尝试访问vagrant ssh

vagrant@daison: cd /var/www
vagrant@daison: /var/www$ ls

什么也没有出现……

我还尝试创建一个folder只是为了看看 synced_folder 是否真的有效,即使它冻结了来宾文件夹

vagrant@daison: /var/www$ mkdir thisFolderWillAlsoShareToHost

C:\Users\daison\vagrant\src\www然后在我创建的文件夹中在我的主人


我还尝试将 synced_folders 更改为 ,以"/vagrant/sample"测试在重新加载 vagrant 后是否/vagrant/sample会冻结。/var/www

结果是;我可以访问网络服务器,当然它不属于其中/var/www,但ls在内部使用/vagrant/sample也会冻结。

也许有人可以帮忙?谢谢!

答案1

从您描述问题的方式来看,您似乎在客户机上创建了一些网站,设置了一个同步文件夹,并期望 vagrant 在主机和客户机之间执行双向同步。但事实并非如此。启用同步文件夹的作用是将主机上的文件夹挂载到客户机中。主机上的内容会屏蔽客户机上的任何现有内容。我的意思是:

没有同步文件夹

> dir C:\Users\daison\vagrant\src\www
a_file_on_the host

$ ls /var/www
a_file_on_the_guest

这些文件夹已同步。

> dir C:\Users\daison\vagrant\src\www
a_file_on_the host

$ ls /var/www
a_file_on_the host

如果你在文件夹同步时从客户机中创建了一个新文件

> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
file_created_while_synced

$ ls /var/www
a_file_on_the host
file_created_while_synced

禁用同步文件夹,现在你会看到

> dir C:\Users\daison\vagrant\src\www
a_file_on_the host
file_created_while_synced

$ ls /var/www
a_file_on_the_guest

因此,如果你的网站是在访客模式下创建的,则在同步时它们将不再可用/var/www。这就是网络服务器“冻结”的原因。

相关内容