在vagrant中共享单个文件

在vagrant中共享单个文件,vagrant,vagrantfile,Vagrant,Vagrantfile,如何共享单个文件,而不是像这样共享整个文件夹 config.vm.synced_folder "host/folder", "box/folder" ? 换言之,有没有一种方法可以做到: config.vm.synced_folder "host/folder/file.conf", "box/folder/file.conf" 无法同步单个文件。但是,通过使用rsync\uu exclude选项同步文件夹,可能也可以达到相同的效果: rsync\uuu exclude(字符串或字符串数组)

如何共享单个文件,而不是像这样共享整个文件夹

config.vm.synced_folder "host/folder", "box/folder"
?

换言之,有没有一种方法可以做到:

config.vm.synced_folder "host/folder/file.conf", "box/folder/file.conf"

无法同步单个文件。但是,通过使用
rsync\uu exclude
选项同步文件夹,可能也可以达到相同的效果:

rsync\uuu exclude
(字符串或字符串数组)-要从同步中排除的文件或目录列表。这些值可以是任何可接受的rsync排除模式

Vagrant默认使用提供商技术(如VirtualBox、VMWare等)提供的文件/文件夹同步机制。如果提供者不能在每个文件的基础上进行同步,那么Vagrant也不能。Vagrant也可以使用,或用于文件同步。然而,似乎每个人都期望每个文件夹的范例

另一种可能性是使用其中一个选项有选择地同步适当的文件。如果您想采取简单的方法,您可以使用来复制所需的文件。更有趣的是,这是一个合理的指南,可以帮助您开始使用Vagrant,您可能会对木偶感兴趣。

因为,您只能同步整个文件夹


作为一种解决方法,我最终将整个文件夹同步到一个临时文件夹中,并在稍后的步骤中创建一个符号链接,在该符号链接中,我需要它与该临时文件夹中的单个文件进行同步

在rsync args数组中使用
include
标志:

config.vm.synced_folder "host/folder/", "box/folder/", type: "rsync",
    rsync__args: ["--include=file.conf"]
您可以使用provisioner执行以下操作:

Vagrant.configure("2") do |config|
  # ... other configuration

  config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
end
被接受的答案(cdmo)对我不起作用,但很接近,并引导我找到了正确的解决方案,所以干杯。要仅复制一个文件,我需要将其更改为:

config.vm.synced_folder "c:/hostpath/", "/guestpath/", type: "rsync",
  rsync__args: ["-r", "--include=file.text", "--exclude=*"]
注意参数及其顺序,-r必须存在,--include必须在--exclude之前

如果需要,您可以使用-r选项,而不是-r选项,该选项将-r与其他几个选项相结合,用于保存权限、所有权等(请参阅rsync帮助)


我的测试配置:Vagrant 2.0.2/Win10/VirtualBox 5.2.6

为什么不共享整个文件夹?或者主机上的文件夹只包含一个文件?位置框/文件夹中已存在其他文件,我不想覆盖这些文件。我只想“覆盖”单曲file@ydaetskcoR我还有以下情况:我想编辑一个
nginx.conf
config文件,将配置文件保存在我的存储库中,但不导入整个文件夹。这不会保持文件同步,因此它不是真正的“共享”。它是复制。我建议将目标更改为“some/absolute/path/to/the/file”看看这是否适用于某个人,因为现在杰迪克的答案是最好的(有充分的文件证明,而且有效)JaseAEZZ的例子是直接从在我的AER中链接的文档中来的。当我在2017尝试这个的时候,它正在为我工作。谢谢你的回答,来详细说明它。这里是对RSYNC所有选项的更好的解释:请考虑将第一行更改为:<代码> CONT.V.Sythyx文件夹”/HoestPosie/“,”/GuestPoth/,键入:“rsync”,并非所有人都在使用Windows,这可能会导致混淆。Include未记录在案且无法工作