首页 > 解决方案 > PostgreSQL + 元数据库连接被拒绝

问题描述

我正在尝试将 postgres 配置为与 springboot 和元数据库一起运行。每个服务都单独运行,但是当我尝试将 3 个服务放在一个 docker-compose 文件中时,我收到以下错误:

 Caused by: org.postgresql.util.PSQLException: Connection to 0.0.0.0:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
metabase-container |    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:303)

但是,我已将 db 的端口 5432 映射到元数据库容器的端口 5432。

然而,它似乎不起作用。对这个问题有任何帮助吗?(请在下面找到我的 docker-compose 文件)

version: '2'

services:
  spring:
    image: 'realtime:latest'
    container_name: spring
    depends_on:
      - db
    environment:
      - SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/compose-postgres
      - SPRING_DATASOURCE_USERNAME=compose-postgres
      - SPRING_DATASOURCE_PASSWORD=same
      - SPRING_JPA_HIBERNATE_DDL_AUTO=update
    volumes:
      - /home/vagrant/valorisation-2.0:/app
    command: ["java", "-jar", "rtv-1.jar"] 
    mem_limit: 10g
    mem_reservation: 10g
    ports:
      - "8079:8080"
  db:
    image: 'postgres:13.1-alpine'
    container_name: db
    environment:
      - POSTGRES_USER=compose-postgres
      - POSTGRES_PASSWORD=********
      - METABASE_PASSWORD=same
    ports:
      - "8078:5432"
      - "54320:5432"
  metabase:
    container_name: metabase-container
    restart: "always"
    image: metabase/metabase
    ports:
      - "3000:3000"
      - "5432:5432"
    environment:
      - MB_DB_TYPE=postgres
      - MB_DB_DBNAME=db
      - MB_DB_PORT=5432
      - MB_DB_USER=compose-postgres
      - MB_DB_PASS=same
      - MB_DB_HOST=0.0.0.0
      - MB_ENCRYPTION_SECRET_KEY=********

标签: postgresqlspring-bootdockermetabase

解决方案


尝试将MB_DB_HOST元数据库环境变量从0.0.0.0更改为db


推荐阅读