我查看了 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。这就是网络服务器“冻结”的原因。