我有一个流浪汉VM,我使用config.vm.share_folder
从主机(ubuntu)共享一个文件夹(我的代码仓库)到流浪者。我想对我在vagrant机器(虚拟环境)中创建的文件夹执行相反的操作。我想将其共享回主机。我怎么能这样做?
我尝试将以下内容添加到vagrant文件中:config.vm.share_folder "virtualenv", "/home/vagrant/devenv", "../virtualenv"
分别指向vagrant机器上的虚拟环境和主机上的空文件夹。当我流浪并查看主机上的文件夹内部时,我希望看到流浪汉机器内虚拟环境的内容,但该文件夹保持空白。当我进入流浪汉机器并查看虚拟环境文件夹时,它变空了。取消激活此设置将恢复vagrant机器上文件夹的内容。
答案 0 :(得分:14)
共享文件夹已重命名为从v1到v2(docs)的同步文件夹,在主机和来宾之间仍然使用vboxsf
的引擎盖下(如果有大量文件/目录,则存在已知的性能问题) )。
注意:您需要了解它通过
vboxsf
, NOT 反过来将主机目录安装到访客中。
在您的用例中,您可以
rsync
)或将项目移动到映射文件夹中。scp
或rsync
)文件夹
A,然后使用synced文件夹将主机上的文件夹A映射到guest虚拟机。例如
# relative path to where Vagrantfile resides
config.vm.synced_folder "virtualenv", "/home/vagrant/devenv"
# absolute path
config.vm.synced_folder "/path/to/virtualenv", "/home/vagrant/devenv"
将项目目录中的virtualenv目录(Vagrantfile
所在的位置)映射到访客/home/vagrant/devenv
。
绝对路径
有助于您了解同步文件夹的工作原理的更多信息=>
Vagrant shared and synced folders
答案 1 :(得分:0)
在共享文件夹和同步文件夹(请参阅http://docs.vagrantup.com/v2/synced-folders/)中,编辑都是双向的。主机文件夹和Vagrant文件夹始终保持同步。换句话说,它是双向共享的,所以你不需要做任何事情。
答案 2 :(得分:0)
您可以使用以下内容在Vagrant中创建共享文件夹:
config.vm.synced_folder "data", "/var/www", :mount_options => ["dmode=777","fmode=666"]
将Mac分享到Ubuntu路径
config.vm.synced_folder "/Users/Myname/www-vagrant", "/var/www/vagrant",
所有者:“www-data”,组:“www-data”