Docker 错误绑定:地址已在使用中

新手上路,请多包涵

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

启动用户态代理时出错:监听 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 ,但它没有帮助。

原文由 Ngoral 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 628
2 个回答

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

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

docker ps 如何帮助我:

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

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

原文由 Ayushya 发布,翻译遵循 CC BY-SA 4.0 许可协议

这帮助了我:

 docker-compose down  # Stop container on current dir if there is a docker-compose.yml
docker rm -fv $(docker ps -aq)  # Remove all containers
sudo lsof -i -P -n | grep <port number>  # List who's using the port

然后: kill -9 <process id> (macOS)或 sudo kill <process id> (Linux)。

资料来源: 用户 Rub21 的评论

原文由 Tomasz Bartkowiak 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题