Docker-组成up springboot + postgres连接被拒绝

时间:2018-07-25 12:50:35

标签: java postgresql docker

我使用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将数据库链接到我的应用程序?

1 个答案:

答案 0 :(得分:1)

使用jdbc:postgresql://db:5438/acronym作为连接URL。

默认情况下,服务以其名称公开(在这种情况下为db)。