我有一个node.js应用程序(使用新的nestjs)框架,运行在端口3000上。作为数据库,我通过typeorm使用mysql。在当地一切正常。我有问题的dockering虽然。
我的TypeForm配置:
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "root",
"database": "nest",
"entities": ["src/**/*.entity{.ts,.js}"],
"synchronize": true
}
我的 docker-compose.yml
具体如下:
version: "3"
services:
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: nest
MYSQL_USER: root
MYSQL_PASSWORD: root
networks:
- new
nest:
image: grimscythe/nest-sample
depends_on:
- db
ports:
- 3000:3000
networks:
- new
networks:
new:
我已经阅读了关于这个特定场景的文档,所有这些都应该可以正常工作。对mysql容器的猛击表明数据库运行良好。但是节点框架 Unable to connect to the database...
. 我是不是错过了什么 docker-compose.yml
文件?
1条答案
按热度按时间ccrfmcuu1#
尝试
"host": "db"
而不是localhost。docker compose使用服务名称作为其dns条目