• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

docker-compose 관련 질문입니다.

21.10.16 01:17 작성 조회수 580

0

안녕하세요! 좋은 수업 항상 감사합니다!!

 

제가 express와 mysql을 이용해서 간단한 회원기능과 게시판 기능을 만들고 이를 docker 이미지로 만들고 있었는데, express에서 비밀번호 해시함수를 위해 bcrypt라는 라이브러리를 사용을 했습니다. 그런데 이 bcrypt에서 docker-compose up 을 하면 사진과 같은 에러가 자꾸 발생합니다. 열심히 구글링을 해봤지만 해결을 못해서 질문 올립니다...

구글링을 해보니 제 로컬 OS환경은 MAC이고 Docker는 Linux여서 이런 OS차이 때문에도 에러가 발생한다고 하더라구요.

도커 알기 쉽게 설명해주셔서 감사합니다 ㅎㅎ

 

에러 코드 입니다!

my_server  | node:internal/modules/cjs/loader:1183

my_server  |   return process.dlopen(module, path.toNamespacedPath(filename));

my_server  |                  ^

my_server  | 

my_server  | Error: Error loading shared library /app/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: Exec format error

my_server  |     at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18)

my_server  |     at Module.load (node:internal/modules/cjs/loader:981:32)

my_server  |     at Function.Module._load (node:internal/modules/cjs/loader:822:12)

my_server  |     at Module.require (node:internal/modules/cjs/loader:1005:19)

my_server  |     at require (node:internal/modules/cjs/helpers:102:18)

my_server  |     at Object.<anonymous> (/app/node_modules/bcrypt/bcrypt.js:6:16)

my_server  |     at Module._compile (node:internal/modules/cjs/loader:1101:14)

my_server  |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)

my_server  |     at Module.load (node:internal/modules/cjs/loader:981:32)

my_server  |     at Function.Module._load (node:internal/modules/cjs/loader:822:12) {

my_server  |   code: 'ERR_DLOPEN_FAILED'

my_server  | }

my_server  | [nodemon] app crashed - waiting for file changes before starting...

 

답변 1

답변을 작성해보세요.

2

안녕하세요 !!! 
보니깐 bcrypt 모듈 문제인것 같아요 !!! bcrypt 에러가 보이네요 !!! 
bcrypt 지워주시고   bcryptjs를 사용해주시면 될 것 같아요 !!! 
사용방식은 같습니다 그냥 import 해주실 때 

import bcrypt from 'bcrypt' 

가 아닌 

import bcrypt from 'bcryptjs' 로 해서 사용해주시면 됩니다 !! 
수고하세요 ㅎㅎ !