Vagrant Provision 是否会清除您的所有数据
Is Vagrant Provision suppose to wipe out all your data
我只是 运行 vag运行t 提供了徒劳的尝试,试图让我的自定义 synced_folders 指令起作用,现在我的整个来宾箱都被消灭了。
这正常吗?我没有看到任何关于 Vag运行t 文档的引用。
根据 doc:
Provisioners in Vagrant allow you to automatically install software, alter configurations, and more on the machine as part of the vagrant up process.
我在配置中提供的唯一 shell 命令是安装命令。没有关于擦掉任何东西的事情。
我确实有 app.vm.provision 用于设置 fqdn、用户名和邮箱名称的 puppet(以及正常的 module_path、manifests_path 和 manifests_file)。也许这导致了事情被重置?
答案
Is Vagrant Provision suppose to wipe out all your data?
没有。 Vagrant 永远不应伤害您的 "data"(即网站、代码等)。
...now my whole guest box is wiped out. Is this normal?
是的。您的 Vagrant 环境(换句话说,Vagrant 在虚拟环境中创建的来宾操作系统)是易变的,您应该能够随意销毁和重新创建它,而不会对您的工作文件产生任何影响(因为这些文件应该保存在您的本地或主机文件系统)。
说明
在 Vagrant 的网站上,他们告诉你的第一件事是:
Create and configure lightweight, reproducible, and portable development environments.
您的开发环境允许您工作。您在 数据上工作,在 开发工作环境中工作。完成 "development work environment," 后,您应该可以自由删除它,而不会影响您的数据。
此外,您应该能够将您的 Vagrantfile 发送给协作开发人员,以便他们可以创建您用来创建数据的完全相同的开发环境(即,编写您的程序,建立您的网站,等等)。然后,当您向他们提供您的代码时,他们可以在与创建您的代码的环境相同的环境中使用它,而无需重新配置他们自己的设置。
有关如何将您的数据文件(代码、工作文件等)安全地保存在您的计算机中,同时让 Vagrant 创建的访客系统可以访问它们的更多详细信息,请参阅我对 this question.
的回答
所以似乎发生的事情是,当我设置一个同步文件夹时,它清除了所有内容,因为我的主机上那个同步文件夹中没有任何内容。除非有办法恢复丢失的数据,否则他们的文档中应该有一个明确的警告,表明这种情况可能发生。
我将 synced_folder 设置在我的整个主目录中。当我创建一台新机器时,我克隆了我保存的一个项目,并决定这次只同步我的个人项目而不是我的整个用户目录。当我重新加载时,项目目录是空的,因为它在我的主机上是空的。
所以我想,在使用 synced_folder 信息配置 Vagrantfile 之前,确保主机上的目录已经设置了数据。
我只是 运行 vag运行t 提供了徒劳的尝试,试图让我的自定义 synced_folders 指令起作用,现在我的整个来宾箱都被消灭了。
这正常吗?我没有看到任何关于 Vag运行t 文档的引用。
根据 doc:
Provisioners in Vagrant allow you to automatically install software, alter configurations, and more on the machine as part of the vagrant up process.
我在配置中提供的唯一 shell 命令是安装命令。没有关于擦掉任何东西的事情。
我确实有 app.vm.provision 用于设置 fqdn、用户名和邮箱名称的 puppet(以及正常的 module_path、manifests_path 和 manifests_file)。也许这导致了事情被重置?
答案
Is Vagrant Provision suppose to wipe out all your data?
没有。 Vagrant 永远不应伤害您的 "data"(即网站、代码等)。
...now my whole guest box is wiped out. Is this normal?
是的。您的 Vagrant 环境(换句话说,Vagrant 在虚拟环境中创建的来宾操作系统)是易变的,您应该能够随意销毁和重新创建它,而不会对您的工作文件产生任何影响(因为这些文件应该保存在您的本地或主机文件系统)。
说明
在 Vagrant 的网站上,他们告诉你的第一件事是:
Create and configure lightweight, reproducible, and portable development environments.
您的开发环境允许您工作。您在 数据上工作,在 开发工作环境中工作。完成 "development work environment," 后,您应该可以自由删除它,而不会影响您的数据。
此外,您应该能够将您的 Vagrantfile 发送给协作开发人员,以便他们可以创建您用来创建数据的完全相同的开发环境(即,编写您的程序,建立您的网站,等等)。然后,当您向他们提供您的代码时,他们可以在与创建您的代码的环境相同的环境中使用它,而无需重新配置他们自己的设置。
有关如何将您的数据文件(代码、工作文件等)安全地保存在您的计算机中,同时让 Vagrant 创建的访客系统可以访问它们的更多详细信息,请参阅我对 this question.
的回答所以似乎发生的事情是,当我设置一个同步文件夹时,它清除了所有内容,因为我的主机上那个同步文件夹中没有任何内容。除非有办法恢复丢失的数据,否则他们的文档中应该有一个明确的警告,表明这种情况可能发生。
我将 synced_folder 设置在我的整个主目录中。当我创建一台新机器时,我克隆了我保存的一个项目,并决定这次只同步我的个人项目而不是我的整个用户目录。当我重新加载时,项目目录是空的,因为它在我的主机上是空的。
所以我想,在使用 synced_folder 信息配置 Vagrantfile 之前,确保主机上的目录已经设置了数据。