来自nodejs + elasrticsearch github repo

时间:2019-12-15 00:25:58

标签: node.js docker elasticsearch docker-compose

我正在尝试在docker容器中一起设置node.js和Elasticsearch,

我一直在遵循此post,直到启动应用程序部分为止。

当我键入

 docker-compose up 

我不断遇到这个node.js错误,表示找不到模型模块

tqd-node         | { Error: Cannot find module '../models'

这是错误消息的前几行

tqd-elasticsearch is up-to-date
Starting tqd-node ... done
Attaching to tqd-elasticsearch, tqd-node
tqd-elasticsearch | WARNING: no logs are available with the 'none' log driver
tqd-node         |
tqd-node         | > nodejselastic@1.0.0 start /usr/src/app
tqd-node         | > pm2-runtime start ./src/main.js --name node_app
tqd-node         |
tqd-node         | 2019-12-14T23:09:56: PM2 log: Launching in no daemon mode
tqd-node         | 2019-12-14T23:09:56: PM2 log: App [node_app:0] starting in -fork mode-
tqd-node         | 2019-12-14T23:09:56: PM2 log: App [node_app:0] online
tqd-node         | { Error: Cannot find module '../models'
tqd-node         |     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
tqd-node         |     at Module.Hook._require.Module.require (/usr/local/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:51:29)

所以我从this GitHub repository(the-quotes-database) 下载了完整的代码

但我仍然遇到相同的错误

我确实尝试更改控制器文件here中的路径

  const model = require("../models");

我认为也许它需要完整的c://路径,但这并没有改变错误消息。 当我在VSC编辑器中将鼠标悬停在模型上时,表明这是正确的路径。

所以我的问题是:这是存储库中的错误还是Windows docker配置的问题?

我成功地通过docker创建了简单的python容器,  所以我不确定此错误的根本原因是什么以及如何解决。

1 个答案:

答案 0 :(得分:0)

更新:如果有人发现类似问题,我会在这里回答。

我安装了docker并下载了文件,然后在我的Ubuntu笔记本电脑上重复了上述步骤,就可以了!

因此下载的文件尚未准备好在Windows上运行,如果您使用的是Linux,这不是回购中的错误。