如何导出一个Vagrant虚拟机来传输它

我有一个stream浪者箱子运行(configurationLAMP堆栈)。 我需要把它转移到另一台电脑。 我如何导出? 我想我可以得到一个文件(或文件),可以复制到另一台PC,所以我可以运行一些命令来导入stream浪者的箱子。

你有两种方式来做到这一点,我会把它叫做肮脏的方式干净的方式

1. 肮脏的方式

使用vagrant package命令从当前的虚拟环境中创build一个框:

http://docs.vagrantup.com/v2/cli/package.html

然后把这个盒子复制到另一个电脑上,使用vagrant box add它, vagrant up像往常一样使用vagrant up运行它。

请记住,工作目录中的文件(包含Vagrantfile )在虚拟机引导时共享,因此您还需要将其复制到其他PC。

2. 干净的方式

从理论上说,不应该有必要做stream浪汉进出口。 如果你有先见之明的configuration虚拟环境(chef,puppet,ansible)和像git这样的版本控制系统来configuration你的工作目录,复制一个环境在这一点上就像运行一样简单:

 git clone <your_repo> vagrant up 

我的Mac硬盘驱动器在项目中间发出哔哔声,于是我决定安装一个SSD。 我需要将我的项目从一个磁盘移动到另一个磁盘。 有几件事要考虑:

  • 我在Mac上是stream浪的w / virtualbox
  • 我正在使用git

这对我来说是有效的:

 1.) Copy your ~/.vagrant.d directory to your new machine. 2.) Copy your ~/VirtualBox\ VMs directory to your new machine. 3.) In VirtualBox add the machines one by one using **Machine** >> **Add** 4.) Run `vagrant box list` to see if vagrant acknowledges your machines. 5.) `git clone my_project` 6.) `vagrant up` 

我有一些VB Guest添加的问题。

在这里输入图像说明

我用这个解决scheme修复了它们。

最简单的方法是将Vagrant盒打包,然后将其复制(例如scprsync )到另一台PC上,然后将其添加并vagrant up 😉

有关详细步骤,请查看=> 是否有任何方法来克隆已安装的stream浪箱

这其实很简单

  1. 在远程机器上安装虚拟盒子和stream浪者
  2. 包裹你的stream浪者机器

    vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box

  3. 将该框复制到您的远程

  4. 通过运行初始化远程计算机上的框

    vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box

  5. vagrant up

如上所述

我该如何改变Vagrant寻找虚拟硬盘的地方?

虚拟机状态存储在预定义的VirtualBox文件夹中。 将您的vagrant-project之外的相应机器(文件夹)复制到您的其他主机应该保留您的虚拟机状态。