我试图连接到数据库,但每次我得到一个错误,我不能连接到数据库。
Docker ps -a看起来像这样:
ea68340fce5c postgres:latest "docker-entrypoint.s…" 2 minutes ago Exited (1) 2 minutes ago java-postgres
7bcdd7519678 springshop-app "java -jar app.jar" 2 minutes ago Up 2 minutes 0.0.0.0:8080->8080/tcp java-app
我的docker-compose:
version: '3'
services:
postgres:
image: 'postgres:latest'
container_name: 'java-postgres'
environment:
- 'POSTGRES_USER=postgres'
- 'POSTGRES_PASSWORD=9567'
- 'POSTGRES_DB=shop_db'
app:
build: ./
container_name: 'java-app'
ports:
- '8080:8080'
我尝试写端口'5432:5432',但每次他们给予一个错误,端口是忙碌的.另一个端口也尝试,例如5050:5432.
我的停靠文件:
FROM openjdk:19
ADD build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
Logs:org.postgresql.util. PSQLExException:连接尝试失败。
2023-04-03T08:35:55.811Z WARN 1 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper:SQL错误:0,SQL状态:08001 2023-04-03T08:35:55.812Z ERROR 1 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper:连接尝试失败。2023-04- 03 T08:35:56.034Z WARN 1 --- [nio-8080-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver:已解决[出现错误信息]不支持请求方法'GET']
1条答案
按热度按时间ubof19bj1#
我不能得到错误的确切原因,但我挑起一些点,你可以尝试修复错误:根据您提供的错误消息,您的应用程序似乎无法连接到PostgreSQL数据库。以下是您可以尝试解决此问题的一些方法:
1.确保PostgreSQL容器正在运行:您可以使用命令docker ps来检查容器是否正在运行。如果它没有运行,您可以使用命令docker-compose up -d postgres启动它。
1.检查PostgreSQL容器的日志:你可以使用命令docker logs java-postgres来检查PostgreSQL容器的日志。查找与数据库连接相关的任何错误消息。
1.检查连接字符串:确保应用程序使用正确的连接字符串连接到数据库。它应该类似于jdbc:postgresql://:5432/shop_db。替换为PostgreSQL容器的名称。
1.检查防火墙设置:请确保计算机上的防火墙设置没有阻止与数据库的连接。您可以尝试暂时禁用防火墙,看看它是否能解决问题。
1.检查数据库凭据:确保应用程序配置中指定的数据库凭证(用户名和密码)与docker-compose.yml文件中指定的一致。