Vagrant 与 VM 文件的简单复制
Vagrant vs simple copying of VM files
我想知道在 Vagrant 中是否有必要只复制 VM 文件并在另一台主机上打开它们?
通过这种方式,我们比 Vagrant 的来宾设置更快地完成工作,同时花费更少的流量。我们不是吗?
我想,这种方式的唯一限制是必须存储一个干净的 VM 映像和纯设置的开发环境。
出于多种原因,在不同主机之间共享已构建的 VM 可能不是一个好主意,此处列出了其中的几个:
- 图像文件可以大,阻碍不同机器之间和跨网络传输。
- 您的图像文件可能 "tainted" 被不需要的软件使用,可能用于调试 and/or 其他用途。它可以(并将) 混淆其他开发人员,使他们更难重现不同的效果和测试自己的代码。
- 图像大小也使得无法使用 VCS 共享它(例如,在 git 中处理二进制文件很笨重,通常需要使用外部工具和扩展)。
使用 Vagrant,您可以通过仅共享 "declarative" 所需环境的描述来回避其中的许多问题。与共享完整的 VM 映像文件相比,Vagrant 配置文件具有以下优点:
- 作为使用 DSL 的简单文本文件,它非常小,可以毫无问题地使用 VCS 共享。
- 它可以提供对所需系统环境的清晰简洁的描述,而检查完整构建的 VM 可能会令人厌烦且耗时。
- Vagrant 提供了强大的功能来设置你的系统,例如创建共享文件夹、配置虚拟网络接口等。
根据我的经验,事实证明,有一种从零开始重新创建开发环境的方法可以节省大量时间并降低测试开发中软件的复杂性。
我想知道在 Vagrant 中是否有必要只复制 VM 文件并在另一台主机上打开它们?
通过这种方式,我们比 Vagrant 的来宾设置更快地完成工作,同时花费更少的流量。我们不是吗? 我想,这种方式的唯一限制是必须存储一个干净的 VM 映像和纯设置的开发环境。
出于多种原因,在不同主机之间共享已构建的 VM 可能不是一个好主意,此处列出了其中的几个:
- 图像文件可以大,阻碍不同机器之间和跨网络传输。
- 您的图像文件可能 "tainted" 被不需要的软件使用,可能用于调试 and/or 其他用途。它可以(并将) 混淆其他开发人员,使他们更难重现不同的效果和测试自己的代码。
- 图像大小也使得无法使用 VCS 共享它(例如,在 git 中处理二进制文件很笨重,通常需要使用外部工具和扩展)。
使用 Vagrant,您可以通过仅共享 "declarative" 所需环境的描述来回避其中的许多问题。与共享完整的 VM 映像文件相比,Vagrant 配置文件具有以下优点:
- 作为使用 DSL 的简单文本文件,它非常小,可以毫无问题地使用 VCS 共享。
- 它可以提供对所需系统环境的清晰简洁的描述,而检查完整构建的 VM 可能会令人厌烦且耗时。
- Vagrant 提供了强大的功能来设置你的系统,例如创建共享文件夹、配置虚拟网络接口等。
根据我的经验,事实证明,有一种从零开始重新创建开发环境的方法可以节省大量时间并降低测试开发中软件的复杂性。