inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

NestJS Dockerizing Error loading shared library bcypt 에러

8141

pm1100tm

작성한 질문수 2

0

강의의 내용와 조금 동떨어진 질문일 수 있지만 글 올려 봅니다. 무관하시다 생각하시면 답변 달아주지 않으셔도 좋습니다.

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 를 다시 설치하면,

정상적으로 구동됩니다.

 

 

 

 

docker docker-compose nodejs bcrypt express NestJS node TypeORM nest

답변 1

1

제로초(조현영)

네 alpine에서 bcrypt가 설치 안 될 수 있습니다. native module 사용하는데 거기에 필요한 디펜던시들이 alpine에서 없을 수 있어서요. 저는 그럴 때 그냥 node에서 빌드하고 multistage-build 사용해서 node:alpine으로 빌드 결과물만 복사해옵니다.

0

pm1100tm

답변 감사드립니다.

어쩔 땐 되고 어쩔 땐 안되는 이유가 있었나 보네요..

방금 같은 에러가 나서 docker exec 로 bcrypt 를 수동으로 설치를 한 번 더 해주니, 잘 구동이 되네요.

Docker 에 조예가 없어, 답변해주신 내용이 완벽히 이해가 가지 않지만,

alpine 이미지를 사용할 때는 node_modules 과 dist 까지 복사해서 가져간다고 이해해도 될까요.

 

alpine 을 선택한건 최대한 경량의 컨테이너를 띄우고 싶어였는데, 다른 이미지로 테스를 한 번 해봐야겠네요. 

감사합니다.

0

제로초(조현영)

네 복사해서 가져가시면 됩니다. npm prune 명령어도 빌드 후 한 번 입력해주는게 노드모듈즈폴더 경량화에 도움이 됩니다.

0

pm1100tm

답변이 너무 빠르신데요,, 감사합니다. 도움 많이 됐습니다.

강의자료는 어디서 다운받나요?

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