2011-09-27 34 views
27

我有一个Vagrant系统已启动并正在运行,我希望对其进行更改,只需更改其中一个转发规则即可。在正在运行的系统上更改Vagrant端口转发

this page

转发端口像任何其他 配置期间vagrant up施加。但是,如果您已经有一个正在运行的系统,则拨打 vagrant reload将应用它们,而无需重新导入并重新构建 的一切。

请注意,转发端口需要重新启动虚拟机,因为 VirtualBox在转发的端口上不会启动,直到它完全重新启动 。

听起来完全像我想要的!但如果我尝试vagrant reload所有的厨师食谱都重新加载,并且整个过程需要大约半小时,我必须去厨房拿第n杯咖啡。

有没有办法在运行的系统上应用Vagrantfile更改,而无需通过整个配置过程?我不能喝那么多咖啡。

回答

38

您是否尝试过使用VirtualBox用户界面手动添加新的端口转发规则?打开VirtualBox并选择正在运行的VM,然后点击设置 - >网络 - >端口转发并添加新规则,例如,转发127.0.0.1:222310.0.2.15:22。这样做后,我能够连接到我的虚拟机端口2222(按照惯例)和2223(新规则)。

当然,您可以同时将此新规则添加到您的Vagrantfile以确保映射在最终重新启动后变为永久。另外,如果您的虚拟机配置需要这么长时间,您是否考虑过将一些厨师/傀儡步骤移到实际的基本框中?例如,也许你正在安装一些服务器软件,需要一段时间才能安装。使用已安装的软件重新包装盒子可以大大减少您的Vagrant启动时间。

希望这会有所帮助!

+1

谢谢bro,极其简单快速的应用解决方案 –

+3

对于任何人阅读,awongh的下一个答案可能就是你正在寻找的。 – marios

+0

是的,虽然虚拟机重启可能不是想要的。 (当我写上述答案时,2011年该命令不存在!) – DuffJ

12

你可以做

流浪汉重装--no-提供

,它应该没有厨师,木偶运行等

尽管它仍然会重新启动VM的感觉像“但如果你有一个已经运行的系统......”可能有点误导。

+0

重新启动虚拟机是个问题,尽管速度稍快 – TimoSolo