Dockerfile, npm install 오래걸릴 때, Alpine확인

문철환·2024년 4월 1일

초기 도커파일은,

FROM node:lts-apline
WORKDIR /src
COPY package.json .
RUN npm install 
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]

으로 작성하여 진행했습니다.

여기서 젠킨스가 해당 도커파일을 읽을 때 계속해서 npm install을 시도하지만,

ERROR: failed to solve: process "/bin/sh -c npm install" did not complete successfully:

해당 에러가 나면서 젠킨스 fail이 되었습니다.
문제를 해결하기 위해 구글링도 하며, 도커파일을 수없이 변경하며 진행하였지만,
해결책이 없었고, 새로운 도커파일을 만들어서 진행해보았습니다.

새로운 도커파일

FROM node:20.11 AS build

RUN mkdir /app

WORKDIR /app

COPY package.json /app/

RUN npm install

COPY . /app/
RUN npm run build

EXPOSE 3000
CMD ["npm", "start"]

위 파일 처럼, alpine을 없애고, 로컬에서 작업했던 노드 버전을 입력해주었습니다.
여기서, 위에 생긴 에러가 사라지게 되었고.
이전에는 초기상태라서 npm run build가 필요 없었지만, 프로젝트를 진행하면서 애플리케이션 파일을 생성하는 데 필요한 스크립트가 package.json의 scripts 섹션에 추가되어,
npm run build를 넣었습니다.

정상작동 확인!

profile
밝고 빛나게

0개의 댓글