无法连接到本地 postgres docker 容器

无法连接到本地 postgres docker 容器

我正在尝试解决我的 postgres 客户端和我的 postgres docker 容器(本地)之间的连接问题。

为了启动我的docker容器我运行了以下命令:

docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=docker postgres:9.4

容器启动成功。

➜  ~ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
14310d9f0ece        postgres:9.4        "docker-entrypoint.s…"   5 minutes ago       Up 5 minutes        0.0.0.0:5432->5432/tcp   postgres

然后我使用通过 homebrew 安装的 psql 客户端尝试连接,但它只是挂起:

➜  ~ psql --version
psql (PostgreSQL) 9.4.22
➜ psql -h 127.0.0.1 -p 5432
// hangs

我也尝试使用 pgAdmin 进行连接,但同样无法连接。容器中没有指示尝试连接的日志活动。令人沮丧的是,我可以成功 ping 容器:

➜  ~ nc -vz localhost 5432
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif lo0
    src ::1 port 51856
    dst ::1 port 5432
    rank info not available
    TCP aux info available

Connection to localhost port 5432 [tcp/postgresql] succeeded!

我还检查了是否有其他东西可能在监听 5432,但看起来只有 docker

➜  ~ lsof -n -i :5432 | grep LISTEN
com.docke 13037 steve   27u  IPv4 0xd8d4bc5463376f87      0t0  TCP *:postgresql (LISTEN)
com.docke 13037 steve  115u  IPv6 0xd8d4bc5462ccdd07      0t0  TCP [::1]:postgresql (LISTEN)

寻求有关如何以其他方式解决此问题的建议。

答案1

好吧,花了大约一天时间后,我在 docker 中遇到了一个 github 问题,许多用户报告了 Mac 上 docker 的网络问题。我重启了笔记本电脑,现在可以正常连接了。

https://github.com/docker/for-mac/issues/3350

我在 Mojave Macbook Pro 上使用 Docker 版本 18.09.2,内部版本 6247962。我也会确保将自己添加到 github 问题中。

相关内容