Skip to content

Getting MODULE_NOT_FOUND error while running Nodejs application with sqlite3 in the docker container #1677

Open
@polyglot-me

Description

@polyglot-me

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions