在正在运行的系统上更改Vagrant端口转发

时间:2011-09-27 07:15:25

标签: chef vagrant

我已启动并运行Vagrant系统,我想对其应用更改,这与更改其中一个转发规则一样少。

来自this page

  

转发端口在vagrant up期间应用于其他任何端口   组态。但是,如果您已经有一个正在运行的系统,请致电   vagrant reload将在不重新导入和重新构建的情况下应用它们   一切。

     

请注意,转发端口需要重启虚拟机   在完全转发端口之前,VirtualBox不会接收转发端口   重新启动。

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

有没有办法在不运行整个配置过程的情况下对正在运行的系统应用Vagrantfile更改?我不能喝那么多咖啡。

2 个答案:

答案 0 :(得分:39)

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

当然,您可以同时将此新规则添加到Vagrantfile,以确保在最终重新启动后映射成为永久性。

另外,如果您的VM配置耗时太长,您是否考虑将一些厨师/木偶步骤移动到实际的基本框中?例如,您可能正在安装一堆需要一段时间才能安装的服务器软件。使用已安装此软件重新包装盒子可以大大减少您的Vagrant启动时间。

希望这有帮助!

答案 1 :(得分:15)

你可以做到

  

vagrant reload --no-provision

它应该在没有厨师,木偶等的情况下运行。

虽然它仍会重新启动vm-感觉就像“但如果你已经在运行系统......”可能有点误导。