16

我有一个 vagrant VM,并且使用config.vm.share_folder. 我想对我在 vagrant 机器(虚拟环境)中创建的文件夹做相反的事情,我想将它分享回主机。我怎样才能做到这一点?

我试图将以下内容添加到 vagrant 文件中:config.vm.share_folder "virtualenv", "/home/vagrant/devenv", "../virtualenv"分别指向 vagrant 机器上的虚拟环境和主机上的空文件夹。当我流浪并查看主机上的文件夹时,我想查看 vagrant 机器内的虚拟环境的内容,但该文件夹保持为空。当我 ssh 进入 vagrant 机器并查看虚拟 env 文件夹时,它已变为空。停用此设置会恢复 vagrant 机器上文件夹的内容。

4

3 回答 3

14

共享文件夹 VS 同步文件夹

共享文件夹已重命名为从 v1 到 v2 (docs) 的同步文件夹,vboxsf在主机和来宾之间仍在使用的引擎盖下(如果有大量文件/目录,则存在已知的性能问题)。

注意:您需要了解它通过 将主机目录安装到来宾中vboxsf,而不是相反。

在您的用例中,您可以

  1. 使用同步文件夹在主机和来宾之间映射文件夹(假设它们都是空的),然后在来宾中,复制(rsync首选)或将项目移动到映射的文件夹中。
  2. 将内容从来宾复制到主机(使用scprsync)文件夹 A,然后使用同步文件夹将主机上的文件夹 A 映射到来宾。

例如

# 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"
  1. 将项目目录(Vagrantfile驻留)中的 virtualenv 目录映射到 guest /home/vagrant/devenv

  2. 绝对路径

可以帮助您了解同步文件夹如何工作的更多信息=> Vagrant 共享和同步文件夹

于 2013-10-08T13:07:32.923 回答
0

In both shared folders and synced folders (see http://docs.vagrantup.com/v2/synced-folders/ ) edits are going both ways. The host folder and Vagrant folder are always in sync. In other words, it is shared both ways, so you won't need to do anything.

于 2013-10-07T18:53:33.900 回答
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”

于 2015-06-03T03:04:14.347 回答