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

Rob*_*loi 28 chef-infra vagrant

我有一个Vagrant系统启动并运行,我想对它进行更改,这与更改其中一个转发规则一样少.

从这个页面:

转发端口在vagrant up任何其他配置期间应用.但是,如果您已经有一个正在运行的系统,则调用 vagrant reload将应用它们而无需重新导入和重新构建所有内容.

请注意,转发端口需要重新启动虚拟机,因为在完全重新启动之前,VirtualBox将不会在转发的端口上启动.

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

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

Duf*_*ffJ 42

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

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

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

希望这可以帮助!

  • 对于任何读书的人来说,awongh的下一个答案可能就是你在寻找什么. (3认同)

awo*_*ngh 16

你可以做

vagrant reload --no-provision

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

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