我已启动并运行Vagrant系统,我想对其应用更改,这与更改其中一个转发规则一样少。
来自this page:
转发端口在
vagrant up
期间应用于其他任何端口 组态。但是,如果您已经有一个正在运行的系统,请致电vagrant reload
将在不重新导入和重新构建的情况下应用它们 一切。请注意,转发端口需要重启虚拟机 在完全转发端口之前,VirtualBox不会接收转发端口 重新启动。
听起来和我想要的完全一样!但如果我尝试vagrant reload
我的所有厨师食谱都会重新加载,而且整个过程大约需要半个小时,我必须去厨房拿一杯咖啡。
有没有办法在不运行整个配置过程的情况下对正在运行的系统应用Vagrantfile更改?我不能喝那么多咖啡。
答案 0 :(得分:39)
您是否尝试过使用VirtualBox用户界面手动添加新的端口转发规则?打开VirtualBox并选择正在运行的VM,然后点击设置 - >网络 - >端口转发,并将新规则添加到例如转发127.0.0.1:2223
到10.0.2.15:22
。执行此操作后,我能够通过端口2222(按照惯例)和2223(新规则)连接到我的VM。
当然,您可以同时将此新规则添加到Vagrantfile
,以确保在最终重新启动后映射成为永久性。
另外,如果您的VM配置耗时太长,您是否考虑将一些厨师/木偶步骤移动到实际的基本框中?例如,您可能正在安装一堆需要一段时间才能安装的服务器软件。使用已安装此软件重新包装盒子可以大大减少您的Vagrant启动时间。
希望这有帮助!
答案 1 :(得分:15)
你可以做到
vagrant reload --no-provision
它应该在没有厨师,木偶等的情况下运行。
虽然它仍会重新启动vm-感觉就像“但如果你已经在运行系统......”可能有点误导。