我在连接到dockerized postgres时遇到问题
这是容器:
root@29de79c3cfa2:/# psql -U postgres -W
Password for user postgres:
psql (9.5.14)
Type "help" for help.
postgres=#
从Mac终端:
psql --host localhos -p 5234 -U postgres -W
Password for user postgres:
psql: FATAL: role "postgres" does not exist
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
29de79c3cfa2 postgres:9.5 "docker-entrypoint.s…" 14 minutes ago Up 7 minutes 0.0.0.0:5234->5432/tcp postgres_1
似乎端口匹配(我确实在5234上获得了连接),但是由于某种原因,它无法识别角色?如果在容器中允许我以该角色连接,怎么可能?
答案 0 :(得分:0)
以我为例。这就是我所做的
运行postgres docker映像
[root @ yellowdog]#docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD = postgres postgres:9.5 5bf259c6d3f8be43aa3dc2aed4496a4992a8d1ba5b999507652fd13fcc109c25
从另一个postgresql容器中测试docker容器中的postgres工作
[root @ yellowdog]#docker run -it --rm --link postgres:postgres postgres psql -h postgres -U postgres
用户postgres的密码:
psql(11.0(Debian 11.0-1.pgdg90 + 2),服务器9.5.14)
键入“帮助”以获取帮助。
postgres =#选择1;
1
(1行)
postgres =#\ q
最后在主机上测试工作
[root @ yellowdog]#psql -h localhost -U postgres
用户postgres的密码:
psql(10.4,服务器9.5.14)
键入“帮助”以获取帮助。
postgres =#选择1;
1
(1行)
postgres =#\ q