G-8
G-8

Reputation: 107

Docker image error argon2 code: 'ERR_DLOPEN_FAILED'

My app works on my local machine (Windows) but when I deployed the docker image (to heroku) I got this error with Argon2:

Starting process with command `node dist/index.js`      
2022-02-10T20:44:37.701683+00:00 app[web.1]: node:internal/modules/cjs/loader:1151
2022-02-10T20:44:37.701705+00:00 app[web.1]: return process.dlopen(module, path.toNamespacedPath(filename));
2022-02-10T20:44:37.701705+00:00 app[web.1]: ^
2022-02-10T20:44:37.701706+00:00 app[web.1]:
2022-02-10T20:44:37.701706+00:00 app[web.1]: Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /user/src/app/node_modules/argon2/lib/binding/napi-v3/argon2.node)
2022-02-10T20:44:37.701707+00:00 app[web.1]: at Object.Module._extensions..node (node:internal/modules/cjs/loader:1151:18)
2022-02-10T20:44:37.701707+00:00 app[web.1]: at Module.load (node:internal/modules/cjs/loader:972:32)
2022-02-10T20:44:37.701707+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:813:14)
2022-02-10T20:44:37.701708+00:00 app[web.1]: at Module.require (node:internal/modules/cjs/loader:996:19)2022-02-10T20:44:37.701708+00:00 app[web.1]: at require (node:internal/modules/cjs/helpers:92:18)       
2022-02-10T20:44:37.701708+00:00 app[web.1]: at Object.<anonymous> (/user/src/app/node_modules/argon2/argon2.js:9:56)
2022-02-10T20:44:37.701709+00:00 app[web.1]: at Module._compile (node:internal/modules/cjs/loader:1092:14)
2022-02-10T20:44:37.701709+00:00 app[web.1]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
2022-02-10T20:44:37.701709+00:00 app[web.1]: at Module.load (node:internal/modules/cjs/loader:972:32)   
2022-02-10T20:44:37.701709+00:00 app[web.1]: at Function.Module._load (node:internal/modules/cjs/loader:813:14) {
2022-02-10T20:44:37.701710+00:00 app[web.1]: code: 'ERR_DLOPEN_FAILED'
2022-02-10T20:44:37.701710+00:00 app[web.1]: }
2022-02-10T20:44:37.894114+00:00 heroku[web.1]: Process exited with status 1
2022-02-10T20:44:38.005793+00:00 heroku[web.1]: State changed from starting to crashed

My Dockerfile:

FROM node:15

WORKDIR /user/src/app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

ENV NODE_ENV production

EXPOSE 8080
CMD ["node", "dist/index.js"]
USER node

.dockerignore

node_modules
npm-debug.log

What I found from looking up the problem is argon2 not being properly installed in the image or something similar but I excluded the node_modules folder so I'm assuming the image gets a fresh install

Upvotes: 1

Views: 3797

Answers (1)

G-8
G-8

Reputation: 107

Changing FROM node:15 to FROM node:latest solved it for me.

I used node:15 in the beginning because thats my node version in local development. Looks like node:latest have glibc_2.25

Upvotes: 1

Related Questions