我刚刚开始使用Vagrant,我设法设置了一个盒子。不过,我对同步文件夹工作有点困惑。我从Vagrant那里了解到,同步允许您使用Mac上的文件系统,然后将这些更改同步到虚拟机中,对吗?
我目前有这些设置
config.vm.synced_folder "../../../Library/WebServer/Documents/", "/Users/jonnny/ubuntu-vagrant/www"
我希望现在当我在我的 127.0.0.1:1234/www/中查看铬时
我Library/WebServer/Documents/
中的文件会在那里。但他们不是,我做错了还是误解了这里发生的事情?
更新
我不确定您对我的文件/文件夹结构是什么意思,所以最好我只是展示它们。
用户
琼尼
Ubuntu-vagrant
- Vagrantfile - /www (dir) - bootstrap.sh
- 流浪者文件
VirtualBox VMs
- ubuntu-vagrant_342374982374923 - box-disk1.vmdk - logs (dir) - ubuntu-vagrant_342374982374923.vbox
我确实尝试了您的建议并重新加载了该框,但该文件夹似乎仍未同步。
语法似乎是正确的。但是对于第二个参数,/Users/jonnny/ubuntu-vagrant/www
,它应该是 ubuntu 文件系统内的目标位置,而不是将在 Mac OS 文件系统上创建的位置。
尝试类似 /www/
或 /usr/johnny/www
,根据您想要的位置。
更新
对于流浪者的论点:
- 第一个应该是您要在 Mac Os 文件系统中共享的文件夹的位置,相对于
Vagrantfile
在 Mac Os 文件系统中的位置。 - 第二个是您要在
ubuntu-vagrant
文件系统中访问这些文件的位置。
我认为您的文件夹结构不好:Mac OS文件系统中不需要Vagrantfile文件夹或www
文件夹。只需考虑一个文件夹:Vagrantfile
所在的文件夹,Users/Johhny/ubuntu-vagrant
。www
文件夹将仅存在于 VM 中。然后,如果Library
文件夹与 Mac OS 文件系统中的Users
文件夹位于同一级别,则应具有:
- 图书馆
- 。
- 用户
- 乔尼
- Ubuntu-vagrant
-
Vagrantfile
-
bootstrap.sh
-
- Ubuntu-vagrant
- 乔尼
在Vagrantfile
里面你应该有这一行:
config.vm.synced_folder "../../../Library/WebServer/Documents/", "/www", create: true
根据文档,对于create: true
参数:如果为 true,则如果主机路径不存在,则将创建主机路径。默认为 false。