【发布时间】:2016-01-26 06:00:00
【问题描述】:
我正在使用 postgresql 构建一个在 NodeJS 上运行的应用程序。 我使用 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 和 postgresd),它可以工作。
但我希望它能够与容器一起正常工作。我不明白我做错了什么。
这是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
有人可以帮帮我吗?
(喜欢 docker 的人 :))
【问题讨论】:
-
这篇文章提到了“boot2docker ip”命令,这里似乎有用吗? andreagrandi.it/2015/02/21/…
-
似乎对您使用的主机操作系统有所不同
标签: node.js postgresql docker sequelize.js