Virtual machine 如何导出一个流浪的虚拟机来转移它

Virtual machine 如何导出一个流浪的虚拟机来转移它,virtual-machine,virtualbox,vagrant,Virtual Machine,Virtualbox,Vagrant,我有一个流浪者箱启动并运行(配置了一个灯组)。我需要将它传输到另一台电脑。如何导出它? 我想我可以得到一个(或多个)可以复制到另一台电脑的文件,这样我就可以运行一些命令来导入“流浪者”框。你有两种方法可以做到这一点,我称之为脏法和干净法: 1。肮脏的道路 使用vagrant package命令,从当前虚拟环境创建一个框: 然后将该框复制到另一台电脑上,使用vagrant box add添加它,并像往常一样使用vagrant up运行它 请记住,当虚拟机启动时,工作目录中的文件(其中包含Vagr

我有一个流浪者箱启动并运行(配置了一个灯组)。我需要将它传输到另一台电脑。如何导出它?
我想我可以得到一个(或多个)可以复制到另一台电脑的文件,这样我就可以运行一些命令来导入“流浪者”框。

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

1。肮脏的道路

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

然后将该框复制到另一台电脑上,使用
vagrant box add添加它
,并像往常一样使用
vagrant up运行它

请记住,当虚拟机启动时,工作目录中的文件(其中包含
Vagrantfile
)是共享的,因此您还需要将其复制到其他pc

2。干净的方式

从理论上讲,不应该有必要与流浪汉进行进出口。如果您有远见使用资源调配来配置虚拟环境(chef、puppet、ansible)和工作目录的版本控制系统(如git),那么此时复制环境将非常简单,只需运行:

git clone <your_repo>
vagrant up
git克隆
流浪汉
如中所述


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

最简单的方法是打包vagrant框,然后将其复制(例如
scp
rsync
)到其他PC上,添加它并
vagrant up
;-)


详细步骤,检查这个代码<代码>=<代码>

< p>我的Mac硬盘在项目中间发出哔哔声,所以我决定安装一个SSD。我需要将我的项目从一个磁盘移动到另一个磁盘。需要考虑的几件事:

  • 我是一个流浪汉,在Mac电脑上运行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来宾时遇到了一些问题


我把它们修好了。

这其实很简单

  • 在远程计算机上安装和安装
  • 把你的流浪机器包起来

    vagrant包--base[虚拟框中显示的机器名称]--输出/Users/myuser/Documents/Workspace/my.box

  • 把盒子复制到你的遥控器上

  • 通过运行

    vagrant init[虚拟框中显示的机器名]/Users/myuser/Documents/Workspace/my.box

  • 运行
    vagrant up


  • 以上所有答案对我都不起作用。我已经花了两天时间研究如何将一台Vagrant+VirtualBox机器从一台计算机迁移到另一台计算机上。。。这是可能的

    首先,您需要了解虚拟机与同步/共享文件夹是分开的。所以当你打包你的机器时,你打包的时候没有你的文件,而是数据库

    您需要做的是:

    1-打开计算机1主机的CMD(命令行。使用右键以管理员身份打开它->“以管理员身份运行”),然后转到您的vagrant安装文件。在我的案例中:C:/vv 您将在以下文件夹中看到您的流浪汉文件:

    /config/
    /database/
    /log/
    /provision/
    /www/
    Vagrantfile
    ...
    
    /www/文件夹是我与开发域同步文件夹的位置。您的同步文件夹可能位于其他位置,但请确保了解您正在执行的操作。另外,/config和/database是同步文件夹

    2-运行此命令:
    vagrant包--vagrantfile vagrantfile

    (此命令使用您的文件配置生成虚拟机的包。)

    以下是有关该命令的流浪汉文档:

    一个常见的误解是--vagrantfile选项将包 与此框一起使用vagrant init时使用的vagrant文件。这 事实并非如此。取而代之的是,Vagrantfile作为文件的一部分被加载和读取 使用该箱子时的随机加载过程。欲了解更多信息, 阅读有关文件加载顺序的信息

    Finnish后,您将拥有一个package.box文件

    3-复制所有这些文件(/config、/database、Vagrantfile、package.box等),并将它们粘贴到您的计算机2上您想要安装虚拟机的位置(在我的案例D:/vv上)

    现在,您的计算机2主机上有了所需的所有内容的副本

    4-运行此命令:
    vagrant box add package.box——命名VVV

    (这个--name用于命名您的虚拟机。在我的例子中,它被命名为VVV) (如果您已经有一个同名的虚拟机并希望覆盖它,则可以使用--force。(请小心使用!)

    这将解压您的新流浪者虚拟机

    5-当使用芬兰语时,运行:
    vagrant up

    这台机器将安装,您应该在“Oracle virtual machine box manager”上看到它。如果看不到虚拟机,请尝试以管理员身份运行Oracle VM框(右键单击->以管理员身份运行)

    您现在可能一切正常,但请记住查看您的主机是否符合预期:

    c:/windows/system32/hosts
    
    6-将主机文件从计算机1复制到计算机2可能是个好主意。或者复制你需要的行。 就我而言,以下是我需要的主机:

    192.168.50.4 test.dev
    192.168.50.4 vvv.dev
    ...
    
    其中192.168.50.4是我的虚拟机的IP,test.dev和vvv.dev是正在开发的主机

    我希望这能对你有所帮助:)如果你能给我反馈,我会很高兴的

    您可能会发现我的案例的一些特殊性:

    当我运行vagrant时,mysql出现了问题,它无法工作。我必须在虚拟服务器上运行(右键单击oracle虚拟机->显示控制台):
    apt get install mysql server

    之后,我又一次流浪起来,一切正常
    vagrant box repackage --help 
    Usage: vagrant box repackage <name> <provider> <version>
        -h, --help                       Print this help
    
    vagrant box list
    macinbox (virtualbox, 10.14.5)
    
    tar tzf package.box
    ./metadata.json
    ./box.ovf
    ./Vagrantfile
    ./box-disk001.vmdk