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

时间:2020-06-16 20:16:08

标签: postgresql macos docker docker-compose docker-container

我曾经能够使用5432:5432端口映射运行docker-compose,但最近却遇到此错误:

Error starting userland proxy: listen tcp 0.0.0.0:5432: bind: address already in use

我已经阅读了所有与该问题有关的旧文章,但尚未能够解决此问题。

过去一周来,我一直在为自己的错误感到生气,试图找出如何停止无济于事的正在运行的进程。

我尝试运行

lsof -i tcp:5432

不返回任何结果(只要我的pgadmin /服务器没有运行)

我还看到其他帖子提到跑步

netstat -anp tcp | grep 5432

其中返回两行:

tcp4       0      0  *.5432                 *.*                    LISTEN     
tcp6       0      0  *.5432                 *.*                    LISTEN 

但是我不确定如何处理该输出?

3 个答案:

答案 0 :(得分:1)

以sudo权限运行lsof -i tcp:5432

sudo lsof -i tcp:5432

一个进程(很可能是PostgreSQL)正在监听端口5432,从而阻止另一个进程在该端口上监听。停止该过程,例如使用systemctl,则可以启动Docker PostgreSQL。

答案 1 :(得分:1)

由于您的计算机上正在运行多个postgres实例,因此可能会发生这种情况。

就我而言,我以前安装了postgres,它始终在机器上运行,因为由于上述错误,基于docker的postgres无法启动。卸载先前安装的postgres有助于解决该问题。

答案 2 :(得分:-1)

我刚看到这篇帖子,其中特别提到了导致此问题的postgres的家庭酿造安装。删除该实例似乎可以立即解决该问题:https://github.com/PostgresApp/PostgresApp/issues/210

brew remove postgresql
相关问题