我使用springboot数据和postgres创建一个示例Java项目。我开始制作docker-compose,但无法将数据库链接到应用程序...
我有这个错误
web_1 | org.postgresql.util.PSQLException: Connection to localhost:5438 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
在我的应用程序资源上
server:
port: 4000
spring:
datasource:
platform: postgres
url: jdbc:postgresql://localhost:5438/acronym
username: acronym
password: acronym1234
driver-class-name: org.postgresql.Driver
jpa:
database: POSTGRESQL
show-sql: true
generate-ddl: true
hibernate:
ddl-auto: create
和我的docker撰写文件
version: '3.3'
services:
web:
image: acronym:latest
ports:
- 4000:4000
networks:
- webnet
depends_on:
- db
db:
image: postgres:9.6
restart: always
environment:
- POSTGRES_USER=acronym
- POSTGRES_PASSWORD=acronym1234
- POSTGRES_DB=acronym
-PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- /var/lib/postgresql/data
ports:
- '5438:5432'
volumes:
db:
networks:
webnet:
我看到了很多话题,解决方案是将localhost替换为db,但这不起作用
如何使用docker-compose将数据库链接到我的应用程序?
答案 0 :(得分:1)
使用jdbc:postgresql://db:5438/acronym
作为连接URL。
默认情况下,服务以其名称公开(在这种情况下为db
)。