Networking 如何在运行流浪箱上转发端口

Networking 如何在运行流浪箱上转发端口,networking,docker,vagrant,virtual-machine,port,Networking,Docker,Vagrant,Virtual Machine,Port,我有多个docker容器在vagrant box中运行,暴露了各种端口,但我忘了在vagrant文件中转发这些端口。是否可以在不重新启动机器的情况下转发必要的端口(初始化所有这些容器需要很长时间),如果不可以,在这种情况下最快的方法是什么 在vagrant中是否有一些有组织的方法来处理端口映射?事先知道所有需要的端口是很痛苦的。特别是当您必须向vagrant中已经运行的docker网络添加新服务时,您必须停止一切,以便在vagrant主机上公开一个端口。如何处理docker从其主机中随机选择端口

我有多个docker容器在vagrant box中运行,暴露了各种端口,但我忘了在vagrant文件中转发这些端口。是否可以在不重新启动机器的情况下转发必要的端口(初始化所有这些容器需要很长时间),如果不可以,在这种情况下最快的方法是什么


在vagrant中是否有一些有组织的方法来处理端口映射?事先知道所有需要的端口是很痛苦的。特别是当您必须向vagrant中已经运行的docker网络添加新服务时,您必须停止一切,以便在vagrant主机上公开一个端口。如何处理docker从其主机中随机选择端口进行端口转发的情况?这是不是在使用“流浪者”时就被排除在外了?即使是很小的改变都会让人感觉脆弱。

是的,你可以。您需要直接从VirtualBox执行此操作

  • 开放虚拟箱
  • 编辑要更改的VM的设置
  • 转到“网络”选项卡
  • 转到高级然后转发规则(或端口转发,我得到了vbox的法语版本,不确定确切的翻译是什么)
  • 添加自定义规则
  • 申请

  • 将应用转发规则,您可以从主机连接到来宾端口

    另一种方法是打开终端选项卡并使用设置隧道所需的ssh选项运行
    vagrant ssh
    。这只是暂时的,因此如果希望端口转发持续存在,您仍然需要将端口转发添加到您的
    Vagrantfile

    vagrant ssh -- -L 5000:localhost:5000
    

    这会将来宾上的端口5000转发到主机上的端口5000。

    您对如何在处理vagrant和docker时组织端口转发有什么看法?如果使用vagrant API是管理vm的唯一选项,那么事先知道所有必要的端口真的是唯一的选择吗?在许多情况下,使用vagrant时,我更喜欢使用带有静态IP的专用网络,并使用IP调用它,所以我不需要处理端口转发。但是当需要的时候是的,如果你在我的很多情况下忘记了一个(当添加一个新的软件或什么的时候),那就是一团糟,尽管在需要的时候重新加载虚拟机已经足够快了