我有一个流氓虚拟机,我已经从主机(ubuntu)共享一个文件夹(我的代码repo)到vagrant使用config.vm.share_folder.我想在我在流氓机器(虚拟环境)中创建的文件夹做相反的处理,我想将它分享回主机.我怎样才能做到这一点?
我试图将以下内容添加到vagrant文件中:config.vm.share_folder“virtualenv”,“/ home / vagrant / devenv”,“../virtualenv”分别指向流动机器上的虚拟环境,主机上的空文件夹.当我流氓,看着主机上的文件夹,我想看到虚拟env内的流氓机器的内容,但文件夹保持为空.而当我ssh进入流氓机器,并在虚拟的env文件夹里面看到它已经变空了.停用此设置将恢复流动机器上的文件夹的内容.
共享文件夹VS同步文件夹
共享文件夹已被重命名为从v1到v2(docs)的同步文件夹,在发动机罩下,它仍然在主机和客户机之间使用vBoxsf(如果存在大量文件/目录,则会出现已知的性能问题).
NOTE: You need to understand it mounts host directory into the guest via
vBoxsf
,NOT the other way around.
在你的用例中,你可以
>使用同步的文件夹来映射主机和guest虚拟机之间的文件夹(假设它们都是空的),然后在guest虚拟机内复制(优选rsync)或将项目移动到映射文件夹中.
>将内容从guest虚拟机复制到主机(使用scp或rsync)文件夹
A,然后使用同步文件夹将主机上的文件夹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"
>将项目目录(Vagrantfile所在的地方)中的virtualenv目录映射到guest / home / vagrant / devenv.
绝对路径
更多信息可以帮助您了解同步文件夹的工作原理=> Vagrant shared and synced folders