如何解决MikroORM 拒绝连接到 docker 容器中的 postgres
MikroORM 在 docker 容器中出于某种原因说 MikroORM Failed to connect to database postgres on postgresql://postgres:*****@127.0.0.1:5432
。目前还不清楚连接过程中出了什么问题。
以下是一些相关文件:
docker-compose.yml
version: "3.9"
services:
db:
image: postgres:13
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB
- POSTGRES_PASSWORD
app:
build: .
network_mode: bridge
volumes:
- app-data:/app/data
depends_on:
- db
env_file: .env
volumes:
app-data: {}
db-data: {}
mikro-orm.config.ts
import { MikroORM } from "@mikro-orm/core";
import { User } from "./entities/user";
export default {
entities: [User],migrations: {
path: './migrations',// path to the folder with migrations
pattern: /^[\w-]+\d+\.[tj]s$/,// regex pattern for the migration files
},type: "postgresql",host: process.env.POSTGRES_HOST,port: 5432,dbname: process.env.POSTGRES_DB,user: process.env.POSTGRES_USER,password: process.env.POSTGRES_PASSWORD,debug: true,} as Parameters<typeof MikroORM.init>[0];
还有我的日志
db_1 |
db_1 | Postgresql Database directory appears to contain a database; Skipping initialization
db_1 |
db_1 | 2021-01-15 00:37:58.161 UTC [1] LOG: starting Postgresql 13.1 (Debian 13.1-1.pgdg100+1) on x86_64-pc-linux-gnu,compiled by gcc (Debian 8.3.0-6) 8.3.0,64-bit
db_1 | 2021-01-15 00:37:58.162 UTC [1] LOG: listening on IPv4 address "0.0.0.0",port 5432
db_1 | 2021-01-15 00:37:58.162 UTC [1] LOG: listening on IPv6 address "::",port 5432
db_1 | 2021-01-15 00:37:58.165 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGsql.5432"
db_1 | 2021-01-15 00:37:58.172 UTC [27] LOG: database system was shut down at 2021-01-15 00:37:39 UTC
db_1 | 2021-01-15 00:37:58.181 UTC [1] LOG: database system is ready to accept connections
app_1 |
app_1 | > bot@1.0.0 start
app_1 | > tsc && node dist/index.js
app_1 |
app_1 | [discovery] ORM entity discovery started,using ReflectMetadataProvider
app_1 | [discovery] - processing entity User
app_1 | [discovery] - entity discovery finished,found 1 entities,took 49 ms
app_1 | [info] MikroORM Failed to connect to database postgres on postgresql://postgres:*****@127.0.0.1:5432
解决方法
我能够通过添加从一个容器到下一个容器的链接来解决此问题。通过添加行
links:
- "db:db"
到 app
容器,我能够连接
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。