使用Vagrant如何在Windows和Linux之间共享相同的VM?

问题描述 投票:2回答:2

我有两台主机,一台Windows和一台Linux,都安装了Vagrant和VMware Workstation,一切在他们自己的环境中都可以正常工作。但是,当我在Linux中创建来宾VM并在Windows中执行vagrant up时,Vagrant将删除(!).vagrant目录中的所有内容并尝试获取基本映像。如果在Windows中执行vagrant initvagrant up,然后在Linux中执行vagrant up,则会发生相同的情况。如何防止这种情况发生?无论如何,是否可以使用Vagrant在Windows和Linux之间共享相同的VM?

我正在运行Windows 7,Ubuntu 14.04,Vagrant 1.6.5,VMware Workstation 10.0.3。对于所有来宾操作系统,都会出现此问题。

vagrant
2个回答
1
投票
我不认为在两个主机之间共享相同的VM实例的简便方法。 Vagrant的方法是到provision VM,因此您只共享基本框,然后每个用户/ OS旋转自己的实例。

另一种选择是使用vagrant packagevagrant package来转移已配置的框,但是不适用于VMware提供程序。

然而,另一种方法是使用vagrant box addAWS之类的云提供程序,然后将其装入ssh。或者甚至可以使用Digital Ocean插件。您的问题并未暗示您要使用Vagrant VM做什么,因此很难说出什么是最佳解决方案。


0
投票
首先(但我没错,这不是必不可少的,将Windows和Linux中的/mnt/d/环境变量设置在同一位置,例如:

Windows,VAGRANT_HOME

    Linux,D:\.vagrant.d
  • 然后在以下示例中从一个操作系统(从Linux)创建新计算机:
  • /mnt/d/.vagrant.d

    然后在Windows中启动并首先备份$ cd /mnt/d/vagrant_machines/machine1 $ vagrant init $ vagrant up ,以防万一其内容被意外删除。

    然后从VirtualBox注册现有VM,例如D:\vagrant_machines\machine1\.vagrant

    然后运行以下内容:

    D:\virtualbox_machines\machine1_default_1587262647987_91775\machine1_default_1587262647987_91775.vbox

    并将>vagrant.exe status The VirtualBox VM was created with a user that doesn't match the current user running Vagrant. VirtualBox requires that the same user be used to manage the VM that was created. Please re-run Vagrant with that user. This is not a Vagrant issue. The UID used to create the VM was: 1000 Your UID is: 0 更新为您当前的UID(在此示例中为D:\vagrant_machines\machine1\.vagrant\machines\default\virtualbox\creator_uid

    然后启动机器:

    0

    最后,请注意,每次切换操作系统时,您都需要更新>vagrant status >vagrant up ,您可能想使其自动化。

  • © www.soinside.com 2019 - 2024. All rights reserved.