我已经设置了一个PostgreSQL容器,可以通过Adminer成功连接,但是当我尝试使用相同的凭据通过类似于DBeaver的方式连接时,出现身份验证错误。
我尝试在Dockerfile中暴露端口5432,并且可以看到在Windows上的docker中正确绑定了端口。我猜测由于是身份验证错误,问题不是服务器无法被看到,而是与用户名或密码有关?
Docker Compose文件和Dockerfile如下所示。
我尝试在Dockerfile中暴露端口5432,并且可以看到在Windows上的docker中正确绑定了端口。我猜测由于是身份验证错误,问题不是服务器无法被看到,而是与用户名或密码有关?
Docker Compose文件和Dockerfile如下所示。
version: "3.7"
services:
db:
build: ./postgresql
image: postgresql
container_name: postgresql
restart: always
environment:
- POSTGRES_DB=trac
- POSTGRES_USER=user
- POSTGRES_PASSWORD=1234
ports:
- 5432:5432
adminer:
image: adminer
restart: always
ports:
- 8080:8080
nginx:
build: ./nginx
image: nginx_db
container_name: nginx_db
restart: always
ports:
- "8004:8004"
- "8005:8005"
Dockerfile:(Dockerfile稍后将用于复制SSL证书和密钥)
FROM postgres:9.6
EXPOSE 5432
想知道是否还有其他工具可以使其正常工作?
任何帮助都将不胜感激。
提前致谢。
更新:
尝试通过postgresql容器的IP地址172.28.0.3访问数据库,但连接超时,这表明PostgreSQL正在正确地侦听0.0.0.0:5432,但由于某种原因,用户和密码在Docker之外甚至从主机使用localhost也无法使用。
Dockerfile
来做这个。尝试移除build: ./postgresql
并将image: postgresql
替换为image: postgres:9.6
。 - undefined