我正在尝试启动一个Vagrant实例,并得到以下消息:
Vagrant cannot forward the specified ports on this VM, since they
would collide with another VirtualBox virtual machine's forwarded
ports! The forwarded port to 4567 is already in use on the host
machine.
To fix this, modify your current projects Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique host port:
config.vm.forward_port 80, 1234
我打开了VirtualBox,但目前我没有任何可运行的机器,所以我被难住了。如何找出哪个进程正在监听4567?有没有办法列出我的机器上运行的所有Vagrant盒子?
谢谢,凯文
发布于 2012-06-15 01:05:14
正如消息所说,端口与主机盒发生冲突。我只需在主机上将端口更改为其他值。因此,如果我收到错误,
config.vm.forward_port 80, 1234
然后我会把它改成
config.vm.forward_port 80, 5656
因为1234可能会在我的主机上使用。
为了实际检查任何机器上的端口,我对该操作系统使用tcpview
实用程序,并了解在哪里使用了哪个端口。
发布于 2013-06-02 03:13:47
您可以通过运行以下命令来查看您的机器上正在运行哪些流浪实例
$ vagrant global-status
id name provider state directory
----------------------------------------------------------------------
a20a0aa default virtualbox saved /Users/dude/Downloads/inst-MacOSX
64bc939 default virtualbox saved /Users/dude/svn/dev-vms/ubuntu14
a94fb0a default virtualbox running /Users/dude/svn/dev-vms/centos5
如果您没有看到任何VM正在运行,则您的冲突不是一个流浪箱(该流浪者知道)。接下来要做的是启动VirtualBox UI,并检查它是否有正在运行的实例。如果不想运行UI,可以执行以下操作:
ps -ef |grep VBox
如果您正在运行VirtualBox实例,则它们应该包含在该输出中。您应该能够终止输出中包含VirtualBox的进程。一个问题是,这些进程中的一个似乎存在保持活动的情况。只要杀死最高的VirtualBox进程即可。如果你有一个正在运行的VirtualBox镜像,但是vagrant不知道它,那么一些Vagrant目录可能已经被手动删除了,这意味着Vagrant会丢失对实例的跟踪。
发布于 2012-10-03 18:25:23
我遇到了这个问题,结果发现RubyMine仍然保留着一个端口。我通过运行以下命令找出哪个应用程序占用了这个端口(在我的例子中是31337):
lsof -i | grep LISTEN
输出
node 1396 richard.nienaber 7u IPv4 0xffffff802808b320 0t0 TCP *:20559 (LISTEN)
Dropbox 1404 richard.nienaber 19u IPv4 0xffffff8029736c20 0t0 TCP *:17500 (LISTEN)
Dropbox 1404 richard.nienaber 25u IPv4 0xffffff8027870160 0t0 TCP localhost:26165 (LISTEN)
rubymine 11668 richard.nienaber 39u IPv6 0xffffff8024d8e700 0t0 TCP *:26162 (LISTEN)
rubymine 11668 richard.nienaber 65u IPv6 0xffffff8020c6e440 0t0 TCP *:31337 (LISTEN)
rubymine 11668 richard.nienaber 109u IPv6 0xffffff8024d8df80 0t0 TCP localhost:6942 (LISTEN)
rubymine 11668 richard.nienaber 216u IPv6 0xffffff8020c6ef80 0t0 TCP localhost:63342 (LISTEN)
https://stackoverflow.com/questions/10953070
复制相似问题