簡體   English   中英

PostgreSQL + 元數據庫連接被拒絕

[英]PostgreSQL + metabase connection refused

我正在嘗試將 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=********

嘗試將元數據庫環境變量中的MB_DB_HOST0.0.0.0更改為db

我沒有理解的微妙之處在於所有服務都在同一個網絡中。 因此,刪除服務之間的端口轉發(將服務暴露給外部組件但與容器內的通信無關)並更改元數據庫配置文件即可完成這項工作。 這是修改后的 docker-compose.yml 文件:

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=********
      - SPRING_DATASOURCE_PASSWORD=**********
      - 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=compose-postgres
      - METABASE_PASSWORD=compose-postgres
    ports:
      - "8078:5432"
  metabase:
    container_name: metabase-container
    depends_on:
      - db
    restart: "always"
    image: metabase/metabase
    ports:
      - "3000:3000"
    environment:
      - MB_DB_TYPE=postgres
      - MB_DB_DBNAME=********
      - MB_DB_PORT=5432
      - MB_DB_USER=************
      - MB_DB_PASS=compose-postgres
      - MB_DB_HOST=db
      - MB_ENCRYPTION_SECRET_KEY=***********

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM