docker-compose up -d 容器是创建了, lego-backend 运行失败了, 数据库连接不上

docker-compose up -d 容器是创建了, lego-backend 运行失败了, 数据库连接不上

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好 我使用你的代码库成功启动了。请看截图:

https://img1.sycdn.imooc.com//climg/631aa39e09c15c0016660572.jpg

我的调试过程:

先说两个和这个无关的要修改的点:

1 请添加 .env 文件,敏感信息不要直接写在配置文件中

2 添加 .dockerignore 文件,我第一次运行失败是你没有添加这个对应的文件,导致 node_modules 是被全量复制过去的,有一些模块报错。

我的修改

我主要就是给 config.default.ts 中添加了默认值,你将它注释掉了,因为配置文件是 merge 进去的,所以我不知道当只有 prod 中有配置,default 中没有配置的情况下,会不会生效。

config.mongoose = {
    url: 'mongodb://localhost:27017/lego'
}

然后运行成功了。

你可以再试试,有问题再来问我。

  • 小小奥 提问者 #1

    谢谢老师, 现在确实可以运行了, 但两个容器刚开始同时运行的话, lego-backend 会连接不上数据库, 重启一次 就可以了

    2022-09-10 23:20:47
张轩 2022-09-08 09:09:36

同学你好

特别注意生产环境和开发环境数据库地址的区别,可以提供一下源代码(git),我在本地帮你看一下

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师