最佳答案
我正在构建一个运行在 NodeJS 上的应用程序,使用 postgreql。 我使用 SequelizeJS 作为 ORM。 为了避免使用真正的 postgres 守护进程和在我自己的设备上使用 nodejs,我使用了带有 docker-compose 的容器。
当我运行 docker-compose up
的时候
它启动 pg 数据库
database system is ready to accept connections
还有 nodejs 服务器。 但是服务器无法连接到数据库。
Error: connect ECONNREFUSED 127.0.01:5432
如果我尝试不使用容器(在我的机器上使用真正的 nodejs 和 postgred)运行服务器,它就可以工作。
但是我希望它能正确地与容器一起工作。我不明白我做错了什么。
这是 docker-compose.yml
文件
web:
image: node
command: npm start
ports:
- "8000:4242"
links:
- db
working_dir: /src
environment:
SEQ_DB: mydatabase
SEQ_USER: username
SEQ_PW: pgpassword
PORT: 4242
DATABASE_URL: postgres://username:pgpassword@127.0.0.1:5432/mydatabase
volumes:
- ./:/src
db:
image: postgres
ports:
- "5432:5432"
environment:
POSTGRES_USER: username
POSTGRES_PASSWORD: pgpassword
有人能帮帮我吗?
(喜欢码头的人)