Open
Description
Issue Summary
Hi Everyone,
I'm not able to run my Nodejs v16 application in the docker container. Ending up with MODULE_NOT_FOUND error. Can someone help me what can be the issue and the solution? I'm using the latest sqlite3 version in my package.json
Here is my docker file
FROM node:16-alpine AS builder
RUN mkdir -p /myloc/usr/src/app
WORKDIR /myloc/usr/src/app
COPY package.json ./
#build all the local images in the base node container
RUN npm install
COPY . .
RUN npm run build
#RUN npm run test
FROM node:16-slim
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY --from=builder /myloc/usr/src/app .
# Add user nodejsuser
RUN groupadd --gid 2000 nodejsuser \
&& useradd --uid 1300 --gid nodejsuser --shell /bin/bash --create-home nodejsuser
RUN chown -R nodejsuser:nodejsuser /usr/src/app
USER nodejsuser
EXPOSE 4000
EXPOSE 3000
CMD ["npm", "start"]
Image is built successfully but when I run the container I'm seeing this issue. Any help would be much appreciated.
Thanks
Relevant logs or output
Error: Cannot find module '/usr/src/app/node_modules/sqlite3/lib/binding/napi-v6-linux-glibc-x64/node_sqlite3.node'
Require stack:
- /usr/src/app/node_modules/sqlite3/lib/sqlite3-binding.js
- /usr/src/app/node_modules/sqlite3/lib/sqlite3.js
- /usr/src/app/build/entity/data-service/sqlite.helper.js
- /usr/src/app/build/entity/data-service/dataservice.controller.js
- /usr/src/app/build/route.js
- /usr/src/app/build/index.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
at Function.Module._load (node:internal/modules/cjs/loader:833:27)
at Module.require (node:internal/modules/cjs/loader:1057:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object. (/usr/src/app/node_modules/sqlite3/lib/sqlite3-binding.js:4:17)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
at Module.load (node:internal/modules/cjs/loader:1033:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Module.require (node:internal/modules/cjs/loader:1057:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/usr/src/app/node_modules/sqlite3/lib/sqlite3-binding.js',
'/usr/src/app/node_modules/sqlite3/lib/sqlite3.js',
'/usr/src/app/build/entity/data-service/sqlite.helper.js',
'/usr/src/app/build/entity/data-service/dataservice.controller.js',
'/usr/src/app/build/route.js',
'/usr/src/app/build/index.js'
Version
5.1.4
Node.js Version
16
How did you install the library?
docker alpine