kelektiv / node.bcrypt.js

bcrypt for NodeJs
MIT License
7.38k stars 509 forks source link

Application Crash with bcrypt's `compare` function on node:alpine #1040

Open alissoncorsair opened 3 weeks ago

alissoncorsair commented 3 weeks ago

Title:

Application Crash with bcrypt's compare function on node:alpine

Description:

I encountered an issue where my application crashes when using the compare function from bcrypt on the node:alpine Docker image. I tried switching to the latest Node.js version, which resolved the problem, but it persists on Alpine. Here are the details:

Steps to Reproduce:

  1. Use the node:alpine Docker image in a Node.js application.
  2. Utilize bcrypt's compare function to compare hashed passwords.
  3. Observe the application crash upon invoking the compare function.

Expected Behavior:

The application should successfully execute the compare function without crashing.

Actual Behavior:

The application crashes when calling the compare function, specifically on the node:alpine image.

Additional Details:

loresclement commented 3 weeks ago

Hello, Same issue out there. Let me know if you find out why

recrsn commented 3 weeks ago

Usually happens due to a libc mismatch, check that the copy step isn't copying node_modules from the host into the container you just built

rubemarjrtech commented 1 day ago

Usually happens due to a libc mismatch, check that the copy step isn't copying node_modules from the host into the container you just built

Hello.

I have the same problem, this is my dockerfile:

FROM node

WORKDIR /home/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 4000

CMD ["npm", "run", `"dev"]

and this is my docker-compose.yml:

version: '3'

networks:
   local:

services:
   mysql:
      container_name: mysqldb
      image: mysql:8
      environment:
         MYSQL_DATABASE:
         MYSQL_USER:
         MYSQL_PASSWORD:
         MYSQL_ROOT_PASSWORD:
      networks:
         - local
      ports:
         - '3306:3306'

   app:
      depends_on:
         - mysql
      container_name: blog-api
      build:
         context: .
         dockerfile: Dockerfile
      environment:
         DB_HOST:
         DB_USERNAME:
         DB_PASSWORD:
         DB_DATABASE:
      volumes:
         - ./:/home/app
      ports:
         - '4000:4000'
      networks:
         - local

I tried using a .dockerignore file to ignore node_modules, but nothing changed, any suggestions?

I dont know if this changes anything, but I use WSL.