docker image를 빌드할때 image크기를 줄이기 위해서 alpine버전을 이용한다. 하지만 alpine버전을 이용해서 bcrypt 패키지를 사용하면 빌드 오류가 뜬다. 왜냐하면 bcrypt는 파이썬을 필요로 하기 때문이다.
구글링을 해보니 bcrytjs를 이용하거나 node-alpine버전에서 파이썬을 따로 설치하는 방법이 있었다.
bcryptjs는 기존 bcrypt보다 속도가 느리고 업데이트 한지도 오래돼서 node-alpine에 파이썬을 따로 install해주기로 했다.
RUN apk --no-cache add --virtual builds-deps build-base python
구글링 결과 위와 같이 이미지 빌드시 npm install전에 파이썬을 다운하면 된다고 했지만.. 나같은 경우에 위와 같이 해도 자꾸 에러가 발생했다.
stackoverflow를 열심히 찾은 결과
https://github.com/nodejs/docker-node/issues/282#issuecomment-843299235
RUN apk add --no-cache --virtual .gyp python make g++ pkgconfig pixman-dev cairo-dev pango-dev
이렇게 설치를 해주었더니 해결이 되었다..
도커의 세계란.. 아직 어렵다 ㅠㅠ