带有mysql docker容器网络设置的node.js

nwwlzxa7  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(686)

我有一个node.js应用程序(使用新的nestjs)框架,运行在端口3000上。作为数据库,我通过typeorm使用mysql。在当地一切正常。我有问题的dockering虽然。
我的TypeForm配置:

  1. {
  2. "type": "mysql",
  3. "host": "localhost",
  4. "port": 3306,
  5. "username": "root",
  6. "password": "root",
  7. "database": "nest",
  8. "entities": ["src/**/*.entity{.ts,.js}"],
  9. "synchronize": true
  10. }

我的 docker-compose.yml 具体如下:

  1. version: "3"
  2. services:
  3. db:
  4. image: mysql
  5. restart: always
  6. environment:
  7. MYSQL_ROOT_PASSWORD: root
  8. MYSQL_DATABASE: nest
  9. MYSQL_USER: root
  10. MYSQL_PASSWORD: root
  11. networks:
  12. - new
  13. nest:
  14. image: grimscythe/nest-sample
  15. depends_on:
  16. - db
  17. ports:
  18. - 3000:3000
  19. networks:
  20. - new
  21. networks:
  22. new:

我已经阅读了关于这个特定场景的文档,所有这些都应该可以正常工作。对mysql容器的猛击表明数据库运行良好。但是节点框架 Unable to connect to the database... . 我是不是错过了什么 docker-compose.yml 文件?

ccrfmcuu

ccrfmcuu1#

尝试 "host": "db" 而不是localhost。docker compose使用服务名称作为其dns条目

相关问题