postgresql - 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=********
解决方案
尝试将MB_DB_HOST
元数据库环境变量从0.0.0.0
更改为db
。
推荐阅读
- java - 如何从 Java 中的嵌套 HashMap 创建值的数组列表?
- android - 如何自动将标题和设备框架添加到 android 屏幕截图?
- mongodb - 如何找到所有文件的单价*数量
- java - 在每个方法中不关闭 javax.sql.DataSource 可以吗?
- c# - Selenium - 发送密钥以在影子根(打开)和挪威银行 ID 的多个 iframe 中输入密码
- bootstrap-4 - 引导程序 4
- python - Tensorflow:创建一个对角矩阵,输入在子/超对角线上
- rust - 如何实现可能的突变的通用穿插
- javascript - Turf JS 交叉口问题
- kotlin - “this”不是 ArrayAdapter Kotlin 可接受的上下文