Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions