我只是徒劳地试图让我的自定义synced_folders指令工作,现在我的整个客户端都被清除了。
这正常吗?我没有看到任何关于这个行为的引用。
按照doc:
Vagrant中的provisioning允许您在机器上自动安装软件,更改配置,以及作为Vagrant up过程的一部分。
我在配置配置shell命令中唯一的东西是安装命令。没有什么要消灭的。
我确实有app.vm.provision for puppet,它设置了fqdn,用户名和箱名(以及正常的module_path, manifests_path和manifests_file)。也许这导致了重置?
答案
流浪汉提供应该擦除您的所有数据吗?
。Vagrant不应该损害您的"数据"(即网站、代码等)。
…现在我的贵宾包厢都空了。这正常吗?
是的。您的Vagrant环境(换句话说,是Vagrant在虚拟环境中创建的客户操作系统)是不稳定的,您应该能够随意销毁和重新创建它,而不会对您的工作文件产生任何影响(因为这些文件应该保存在您的本地或主机文件系统中)。
在Vagrant的网站上,他们告诉你的第一句话是:
创建和配置轻量级的、可复制的、可移植的开发环境。
您的开发环境允许您工作。您在数据上使用,在开发工作环境中使用。当您完成"开发工作环境"时,您应该能够自由地删除它,而不会影响您的数据。
此外,您应该能够向协作开发人员发送您的Vagrantfile,以便他们可以创建与您用于创建数据(即编写程序,构建网站等)的完全相同的开发环境。然后,当您向他们提供您的代码时,他们可以在与创建您的代码的环境相同的环境中使用它,而不必重新配置他们自己的设置。有关数据文件(代码,工作文件等)如何安全地保存在您的计算机中,同时使您的Vagrant创建的客户系统可以访问它们的更多详细信息,请参阅我对这个问题的回答。
所以似乎发生的事情是,当我建立一个同步文件夹时,它删除了所有内容,因为我的主机上没有任何内容在那个同步文件夹中。除非有办法恢复丢失的数据,否则在他们的文档中应该有一个明确无误的警告,说明这种情况可能发生。
我设置synced_folder在我的整个主目录上。当我创建一台新机器时,我克隆了我保存的一个项目,并决定这次只同步我的单个项目,而不是整个用户目录。当我重新加载时,项目目录是空的,因为它在我的主机上是空的。
所以我猜,在用synced_folder信息配置Vagrantfile之前,请确保主机上的目录已经设置好了数据。