我使用以下命令创建了一个容器:
docker run -itd --name jkdb -e POSTGRES_PASSWORD=123 -v /home/lchang/jkrug/data:/var/lib/postgresql/data -p 5532:5432 -d postgres
我在容器中签入,而psql确实在容器中监听了5432。
但是,当我尝试通过以下命令从主机连接时,出现错误:
psql -p 5532 -U postgres
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5532"?
我搜索了很多帖子,但没有一个与我的情况相同。任何想法?谢谢!
答案 0 :(得分:1)
同样的问题。我正在使用 docker 运行 postgres。
docker run -e POSTGRES_PASSWORD=xxx -d -p 5432:5432 --name postgres postgres:11.10
无法使用命令 psql postgres postgres
进行连接,但能够使用命令 psql -h 0.0.0.0 postgres postgres
进行连接。不明白原因,但希望对你有帮助。
答案 1 :(得分:0)
不是-p 5432而不是5532吗? :D
答案 2 :(得分:0)
这没有任何意义,但是在我指定主机IP为0.0.0.0
之后,我可以连接到docker。