gpt4 book ai didi

postgresql - 无法使用 Sequelize 的 Docker Compose 连接到 Postgres 容器

转载 作者:IT老高 更新时间:2023-10-28 21:36:29 26 4
gpt4 key购买 nike

我无法从运行节点和 Sequelize 的单独 docker 服务连接到默认 Postgres 镜像。

我假设我的容器设置不正确,而且我的连接信息也可能不正确,因为我在运行 docker-compose --build 时无法使用连接到我的数据库连接信息:

Host: 0.0.0.0
Port: 5432
User: guy
Password: password
Database: engauge

错误信息是

Unable to connect to the database: { SequelizeConnectionRefusedError: connect ECONNREFUSED 0.0.0.0:5432
at /usr/src/app/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:98:20

我正在运行一个看起来像这样的 YML 文件

version: '2' # specify docker-compose version

# Define the services/containers to be run
services:
web: # name of the first service
build: . # specify the directory of the Dockerfile
ports:
- "3000:3000" # specify port forewarding
links:
- database
database: # name of the third service
image: postgres # specify image to build container from
ports:
- "5432:5432" # specify port forewarding
environment:
- POSTGRES_USER:'guy'
- POSTGRES_PASSWORD:'password'
- POSTGRES_DB:'engauge'

我的网络服务中的连接看起来像这样

const sequelize = new Sequelize('postgresql://guy:password@0.0.0.0/engauge');

最佳答案

0.0.0.0 是监听地址,它用于监听所有接口(interface),而不是您连接的 IP。在您的连接字符串中,指定要连接到的主机名的服务名称,在您的情况下为 database

关于postgresql - 无法使用 Sequelize 的 Docker Compose 连接到 Postgres 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42741703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com