端口80上的Vagrant端口冲突,但端口80未在Vagrant文件中转发

端口80上的Vagrant端口冲突,但端口80未在Vagrant文件中转发,vagrant,port,virtualbox,collision,forward,Vagrant,Port,Virtualbox,Collision,Forward,下面是一个简单的教程,指导我使用Vagrant安装Tomcat: vagrant init emessiha/ubuntu64-java --box-version 1.0.0 然后它告诉我编辑vagrant文件,从8080转发到8080,然后执行“vagrant up”。运行“Wagrant up”时,我收到以下消息: 这是我的流浪汉档案。您可以看到端口80没有被转发 我尝试将VagrantFile中的转发端口从8080更改为8081,但没有解决问题。然后我评论了这句话。还是一样的问题。

下面是一个简单的教程,指导我使用Vagrant安装Tomcat:

vagrant init emessiha/ubuntu64-java --box-version 1.0.0
然后它告诉我编辑vagrant文件,从8080转发到8080,然后执行“vagrant up”。运行“Wagrant up”时,我收到以下消息:



这是我的流浪汉档案。您可以看到端口80没有被转发

我尝试将VagrantFile中的转发端口从8080更改为8081,但没有解决问题。然后我评论了这句话。还是一样的问题。我在Mac电脑上,有很高的Sierra


#所有的漫游配置都在下面完成。Vagrant.configure中的“2”
#配置配置版本(我们支持较旧的
#向后兼容性)。除非你知道什么,否则请不要改变它
#你在干什么。
Vagrant.configure(“2”)do | config|
#下面对最常见的配置选项进行了说明和评论。
#有关完整的参考资料,请参阅
# https://docs.vagrantup.com.
#每个流浪的开发环境都需要一个盒子。你可以搜索
#盒子在https://vagrantcloud.com/search.
config.vm.box=“emessha/ubuntu64 java”
config.vm.box_version=“1.0.0”
#禁用自动框更新检查。如果禁用此功能,则
#只有在用户运行时,才会选中复选框进行更新
#“流浪汉盒子过时了”。不建议这样做。
#config.vm.box\u check\u update=false
#创建允许访问特定端口的转发端口映射
#从主机上的端口在计算机内。在下面的例子中,
#访问“localhost:8080”将访问来宾计算机上的端口80。
#注意:这将允许公众访问打开的端口
#config.vm.network“forwarded_port”,来宾:80,主机:8080
#创建允许访问特定端口的转发端口映射
#从主机上的某个端口访问计算机内部,并且仅允许访问
#通过127.0.0.1禁用公共访问
config.vm.network“forwarded_port”,guest:8080,host:8080,host_ip:“127.0.0.1”
#创建专用网络,仅允许主机访问计算机
#使用特定的IP。
#config.vm.network“专用_网络”,ip:“192.168.33.10”
#创建一个公共网络,它通常与桥接网络相匹配。
#桥接网络使机器显示为计算机上的另一个物理设备
#你的网络。
#config.vm.network“公共_网络”
#将其他文件夹共享到来宾VM。第一个论点是
#主机上实际文件夹的路径。第二个论点是
#来宾服务器上装载文件夹的路径。还有第三个选项
#参数是一组非必需的选项。
#config.vm.synced_文件夹“./data”,“/vagrant_data”
#提供程序特定的配置,以便您可以微调各种
#为流浪者提供支持。这些公开特定于提供程序的选项。
#VirtualBox的示例:
#
#config.vm.provider“virtualbox”do | vb|
##启动机器时显示VirtualBox GUI
#vb.gui=true
#
##自定义虚拟机上的内存量:
#vb.memory=“1024”
#结束
#
#有关详细信息,请查看您正在使用的提供程序的文档
#关于可用选项的信息。
#使用shell脚本启用资源调配。其他供应人,如
#木偶,厨师,Ansible,盐和码头工人也可以。请看
#有关其特定语法和用法的详细信息,请参阅文档。

#config.vm.provision“shell”,内联:端口在vagrant文件中硬编码

如果您查看,它显示已经定义了以下端口

  • 3306
  • 八十
  • 8080
我试着旋转同一个流浪者盒子,发现它使用了相同的端口

vagrant init emessiha/ubuntu64-java \
  --box-version 1.0.0
vagrant up
如果尝试重新定义长方体将使用的端口,它将附加这些端口,而不是替换它们

在这里,我尝试将
3306
转发到
3307
。它没有向前替换端口,而是添加了一个新条目

  config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 3306, host: 3307, host_ip: "127.0.0.1"

由于这个流浪者框是由其他人维护的,因此您将受制于他们定义的端口定义。或者找出哪个程序已经在使用端口80并停止它。(
netstat-plnt
在linux上)或创建您自己的流浪者框

多谢各位。你的回答让我发现Apache默认在High Sierra上运行,我不知道。
vagrant init emessiha/ubuntu64-java \
  --box-version 1.0.0
vagrant up
==> default: Forwarding ports...
    default: 80 (guest) => 80 (host) (adapter 1)
    default: 80 (guest) => 8080 (host) (adapter 1)
    default: 3306 (guest) => 3306 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
  config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 3306, host: 3307, host_ip: "127.0.0.1"
    default: 80 (guest) => 80 (host) (adapter 1)
    default: 80 (guest) => 8080 (host) (adapter 1)
    default: 3306 (guest) => 3306 (host) (adapter 1)
    default: 3306 (guest) => 3307 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)