NestJS Dockerizing Error loading shared library bcypt 에러
8141
작성한 질문수 2
강의의 내용와 조금 동떨어진 질문일 수 있지만 글 올려 봅니다. 무관하시다 생각하시면 답변 달아주지 않으셔도 좋습니다.
auth 기능을 로컬에서 구현 후, dockerizing 하는 부분에서
Error: Error loading shared library /gateway/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: Exec format error
와 같은 에러가 나서 구동되지 않습니다. Dockerfile 은
FROM node:12-alpine
RUN apk update && apk add --no-cache curl vim bash
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
이고, bcrypt 는
npm i bcrypt
npm i -D @types/bcrypt
로 하여 설치하였습니다.
container 안에서
npm i bcrypt
npm i -D @types/bcrypt
명령어를 이용해서 bcrypt 를 다시 설치하면,
정상적으로 구동됩니다.

답변 1
1
네 alpine에서 bcrypt가 설치 안 될 수 있습니다. native module 사용하는데 거기에 필요한 디펜던시들이 alpine에서 없을 수 있어서요. 저는 그럴 때 그냥 node에서 빌드하고 multistage-build 사용해서 node:alpine으로 빌드 결과물만 복사해옵니다.
0
답변 감사드립니다.
어쩔 땐 되고 어쩔 땐 안되는 이유가 있었나 보네요..
방금 같은 에러가 나서 docker exec 로 bcrypt 를 수동으로 설치를 한 번 더 해주니, 잘 구동이 되네요.
Docker 에 조예가 없어, 답변해주신 내용이 완벽히 이해가 가지 않지만,
alpine 이미지를 사용할 때는 node_modules 과 dist 까지 복사해서 가져간다고 이해해도 될까요.
alpine 을 선택한건 최대한 경량의 컨테이너를 띄우고 싶어였는데, 다른 이미지로 테스를 한 번 해봐야겠네요.
감사합니다.
강의자료는 어디서 다운받나요?
0
110
3
질문 있습니다.
0
294
3
코드 편집기 확장 프로그램
0
209
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
143
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
166
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
152
2
로그인방법이 고민됩니다.
0
190
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
296
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
242
2
npm run db:create 시에 발생하는 decorating 오류
0
231
2
RxJS 디버깅 질문 있습니다.
0
187
3
CacheManager에 대해 질문 있습니다.
0
173
2
로깅은 어떻게 하는게 효율적일까요?
0
223
1
CORS 질문 있습니다.
0
417
2
쿠키 옵션에 대해서 질문 있습니다.
0
184
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
447
1
401 unauthorized문제
0
285
1
가드의 장점에 대해서 질문이 있습니다.
0
225
1
로그 관리에 대해 질문 있습니다.
0
252
2
CORS 에러 질문 있습니다.
0
318
2
배포 환경 DB 연결 질문 있습니다.
0
411
2
socket io 미 연결 문제 (nest & flutter)
1
1153
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
454
1
start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?
0
321
1





