如何导出Vagrant虚拟机以进行传输

Eug*_*ene 100 virtualbox virtual-machine vagrant

我有一个流浪盒正在运行(配置了LAMP堆栈).我需要将它转移到另一台PC.我该如何出口?我想我可以得到一个可以复制到另一台PC的文件(或文件),所以我可以运行一些命令来导入流浪盒.

Emy*_*myl 111

你有两种方法可以做到这一点,我会称之为肮脏的方式干净的方式:

1. 肮脏的方式

使用以下vagrant package命令从当前虚拟环境创建一个框:

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

然后将该复制框复制到另一台PC,使用vagrant box add它并vagrant up像往常一样运行它.

请记住,Vagrantfile当虚拟机启动时,工作目录中的文件(带有该文件的文件)将被共享,因此您还需要将其复制到另一台PC.

2. 清洁方法

从理论上讲,永远不需要使用Vagrant进行导出/导入.如果你有先见之明,用配置来配置虚拟环境(厨师,木偶,ansible)和版本控制系统如Git的工作目录,复制的环境将是在这一点上简单的运行:

git clone <your_repo>
vagrant up
Run Code Online (Sandbox Code Playgroud)

  • "干净的方式"是否会影响可能位于虚拟机内的数据库(mySQL,Wordpress)?怎么能同步到另一台电脑呢? (6认同)
  • 试图成为那个_clean_,有远见卓识的管理员...你不必在你的git仓库中安装操作系统安装iso吗?例如,你是在暗示吗?使用ansible,你的repo将包含Vagrantfile和一个ansible playbook.Vagrantfile将1.从[vagrantcloud](http://vagrantcould.com)下载一个basebox 2.运行ansible playbook以使用其他文件/ repos/cloud-storage来配置/配置basebox.对?或者git仓库还有其他东西吗? (5认同)
  • @kevllar 干净的方式意味着 git 存储库之外没有启动新的开发环境所需的信息。这意味着安装和配置数据库将在配置新的 vagrant box 期间完成(通过 Chef/Puppet/what-have-you)。 (2认同)
  • Hashicorp推荐的方式也是"脏"的吗?即打包盒并将其上传到atlas服务器?我不确定"干净"的方式是否会真正复制确切的环境,我认为这是流浪者的全部目的...... (2认同)

Ken*_*nce 26

我的Mac中的硬盘驱动器在项目中间发出哔哔声,所以我决定安装一个SSD.我需要将我的项目从一个磁盘移动到另一个磁盘.需要考虑的一些事项:

  • 我在Mac上是虚拟的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`
Run Code Online (Sandbox Code Playgroud)

我在VB Guest添加中遇到了一些问题.

在此输入图像描述

用这个解决方案修复了它们.


Ste*_*abo 17

这实际上非常简单

  1. 在远程计算机上安装虚拟盒流浪者
  2. 包裹你的流浪汉机器

    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

  • 如果您的计算机名称很长,并且您懒得查看 Virtualbox GUI 并输入其名称或 ID - 您可以使用此终端命令列出所有 VM 的名称和 ID:“VBoxManage list vms”。之后,您可以复制并执行@Phil 第 2 步和第 4 步中告诉的操作。:) 是的。 (2认同)

Ter*_*ang 6

The easiest way would be to package the Vagrant box and then copy (e.g. scp or rsync) it over to the other PC, add it and vagrant up ;-)

For detailed steps, check this out => Is there any way to clone a vagrant box that is already installed