首页 > 解决方案 > 在 Docker 中找不到模块“/home/backend/dist/src/server.js”

问题描述

对 Docker 来说非常新,但是在构建后尝试运行容器时出现以下错误,以前有没有人遇到过这个问题?

'internal/modules/cjs/loader.js:905
throw err;'
^

'Error: Cannot find module '/home/backend/dist/src/server.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []'

我在没有 docker 的情况下构建并且似乎工作正常我对 dockerfile 运行以下命令(如下):

docker build -t [name] .

docker run [name]

 FROM node:14.17.1 as base
 WORKDIR /home/backend
 //Add package file
 COPY package.json ./
 COPY yarn.lock ./
 //Install deps
 RUN yarn install

 //Copy source
 COPY src ./src
 COPY tsconfig.json ./tsconfig.json

 //Build dist
 RUN yarn build

 //Start production image build
 FROM gcr.io/distroless/nodejs:14

 //Copy node modules and build directory
 COPY --from=base /home/backend/dist ./home/backend/dist

 //Expose port 5000
 EXPOSE 5000
 CMD [ "/home/backend/dist/src/server.js" ]

标签: javascriptnode.jstypescriptdockerdocker-compose

解决方案


推荐阅读