【问题标题】:Change Vagrant port forwarding on a running system在正在运行的系统上更改 Vagrant 端口转发
【发布时间】:2011-11-25 19:09:42
【问题描述】:

我有一个正在运行的 Vagrant 系统,我想对其进行更改,只需更改其中一条转发规则。

来自this page

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

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

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

有什么方法可以在运行的系统上应用 Vagrantfile 更改,而无需经过整个配置过程?我不能喝这么多咖啡。

【问题讨论】:

    标签: chef-infra vagrant


    【解决方案1】:

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

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

    另外,如果您的虚拟机配置需要很长时间,您是否考虑过将一些主厨/木偶步骤移到实际的基础框中?例如,您可能正在安装一堆需要一段时间才能安装的服务器软件。重新包装已安装此软件的盒子可以显着减少 Vagrant 的启动时间。

    希望这会有所帮助!

    【讨论】:

    • 谢谢兄弟,非常简单快速的应用解决方案
    • 对于任何阅读的人来说,awongh 的下一个答案可能就是您正在寻找的。​​span>
    • 是的,虽然 VM 重启可能不是我们想要的。 (当我写上述答案时,该命令在 2011 年并不存在!)
    【解决方案2】:

    你可以的

    vagrant reload --no-provision

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

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

    【讨论】:

    • 重启虚拟机是个问题,尽管速度会快一些
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2017-11-22
    • 2019-03-24
    • 1970-01-01
    • 2016-01-13
    • 2013-06-17
    • 1970-01-01
    相关资源
    最近更新 更多