使用Vagrant切换主机机器

7

我想使用Vagrant,但不想在我的机器上安装n+个VirtualBox虚拟机以免污染我的工作环境。

我搜索了网络,但没有找到答案。我真正想要的是在我的笔记本电脑上工作,并在另一台已安装VirtualBox的Linux计算机上启动客户端,只需调用vagrant up

目前是否有可能实现这一点,因为这与完全使用EC2的aws-provider没有太大区别。

如果可以使用NTFS而不是aws-provider中使用的rsync,那就更好了。

提前感谢您的回答。 Daniel


我认为这是不可能的,特别是在Vagrant 1.1版本之前(没有提供程序抽象)- 我也非常希望拥有该功能,出于同样的原因,也许有机会实现一个特殊的提供程序。 - cmur2
2个回答

1

由于Vagrant不直接支持此功能,我建议您按照以下步骤操作。

首先,在主机服务器的同一目录的子目录中保存所有Vagrantfiles。然后在主机机器上创建一个名为vagrant_runner的脚本,内容如下:

#!/bin/bash
VAGRANT_HOME='/home/bar/vagrant'

cd ${VAGRANT_HOME}/$1
# Strip off the subdir name so we can pass all the rest of our
# arguments to vagrant
shift
vagrant $@

然后在您的笔记本电脑上,您将拥有一个rvagrant脚本:

#!/bin/bash
VAGRANT_HOST=dnsname_of_vagrant_host
VAGRANT_USER=vagrant_user

ssh ${VAGRANT_USER}@${VAGRANT_HOST} vagrant_runner $@

你可以执行rvagrant foo up来启动在/home/bar/vagrant/foo/Vagrantfile中定义的虚拟机,或者执行rvagrant foo destroy -f来销毁它。


0

目前还不可行。关于此主题,GitHub上有一个问题,但已经关闭。在评论中,作者说:

这是我自己要考虑的事情,至少在 1.0 版本之后 :) 我已经将其标记为功能请求,但除非有立即的强制原因,否则不打算再次考虑它。

大约一年前和两个月前有两人询问了此问题的状态,因为我们现在已经过了 1.0 版本,但遗憾的是还没有对此做出任何反应 :-(


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接