我无法将自己的node.js应用程序构建到docker-image中,尝试进行 docker-compose 时遇到以下错误消息:
Attaching to testbot_bot_1
bot_1 | internal/modules/cjs/loader.js:883
bot_1 | throw err;
bot_1 | ^
bot_1 |
bot_1 | Error: Cannot find module '/usr/src/app/bot.js'
bot_1 | at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
bot_1 | at Function.Module._load (internal/modules/cjs/loader.js:725:27)
bot_1 | at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
bot_1 | at internal/main/run_main_module.js:17:47 {
bot_1 | code: 'MODULE_NOT_FOUND',
bot_1 | requireStack: []
bot_1 | }
我的 Dockerfile :
FROM node:14.15.0-alpine3.10
RUN mkdir /usr/src/app/
WORKDIR /usr/src/app/
ADD package.json /usr/src/app/
RUN npm install
ADD . /usr/src/app/
CMD [ "node", "bot.js" ]
我的 docker-compose.yml :
version: "3.8"
services:
bot:
build: .
command: node bot.js
一些帖子使我相信我应该添加一个卷引用,但是它产生了相同的错误:
version: "3.8"
services:
bot:
build: .
command: node bot.js
volumes:
- .:/usr/src/app
我的文件结构如下:
- commands
- (some .js files containing modules)
- config
- (config files in .json-format)
- db
- (some .js files containing modules)
- res
- (imagefiles etc.)
- .dockerignore
- bot.js
- docker-compose.yml
- Dockerfile
- package.json
我的 .dockerignore :
node_modules
npm-debug.log
Dockerfile
.dockerignore
也许与我的docker-compose.yml中的.build参数有关?我不知道,不知道...
我也已经尝试过docker-compose down -v
,然后尝试过docker-compose up
,但不幸的是,它没有任何改变。
我也没有链接任何端口,因为我的应用程序仅具有传出连接,这应该没问题吧?
任何帮助将不胜感激! 通常我会先尝试使用Google,然后看看Stackoverflow,也许我只是没有搜索正确的词? 非常感谢您阅读我的帖子!
答案 0 :(得分:0)
嗯,好吧,我才弄清楚了。
结果:您不能将其与网络存储一起使用。 我将项目放在NAS上,并考虑使用docker-compose,将必要的文件复制到本地存储(或任何位置)以运行它。
显然没有。
但是将我的项目复制到我的本地计算机上然后运行它就可以了。。。叹了口气...无论如何,感谢您阅读我的文章!