当我在Docker项目中运行Docker -compose up时,它失败了,并显示以下消息:

启动userland代理时错误:监听tcp 0.0.0.0:3000:绑定:地址已在使用

netstat -pna | grep 3000

显示了这个:

tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      -  

我已经试过docker-compose down了,但没用。


当前回答

For Linux / Unix:

简单搜索linux实用程序使用以下命令

netstat -nlp | grep 8888

它将显示在该端口上运行的进程,然后使用该进程的PID(在行中查找PID)杀死该进程。

kill PID

其他回答

我在我的ubuntu机器上运行apache。我用这个命令杀死了它!

sudo /etc/init.d/apache2 stop

我今天下午升级了我的码头机,遇到了同样的问题。我尝试重新启动docker,但没有运气。

最后,我不得不重新启动我的电脑,它工作了。绝对是个bug。

在您的情况下,是其他进程正在使用端口,正如评论中所指出的,sudo netstat -pna | grep 3000帮助您解决了这个问题。

而在其他情况下(我自己遇到过很多次),大多数情况下是相同的容器在其他实例中运行。在这种情况下,docker ps非常有用,因为我经常让相同的容器在其他目录中运行,然后在其他地方再次尝试运行,在那里使用相同的容器名称。

docker ps如何帮助我:

docker rm -f $(docker ps -aq)是我用来删除所有容器的简短命令。

编辑:增加如何docker ps帮助我。

我也有同样的问题。我通过停止主机上的Apache2服务来解决这个问题。

我也有同样的问题, (在运行Docker-compose up的目录下) 帮助

UPD:注意-这也会删除你从评论中提取的本地docker图像