본문 바로가기
Q&A해결2025년 11월 1일1분 읽기

Docker volume에 저장한 데이터가 컨테이너 재시작 후 사라지는 문제

서
서버관리자
조회 1243댓글 2

Docker volume에 저장한 데이터가 컨테이너 재시작 후 사라지는 문제 관련 이슈입니다.

Docker 빌드 중 아래 에러가 발생합니다:

Step 5/8 : RUN npm ci
---> Running in a1b2c3d4e5f6
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /app/package.json

로컬에서는 문제없이 빌드되는데 Docker에서만 이 에러가 납니다. Dockerfile은 아래와 같습니다:

FROM node:20-alpine
WORKDIR /app
RUN npm ci
COPY . .

댓글 2

김김영삼1년 전

Dockerfile에서 COPY 순서가 잘못되었습니다. npm ci를 실행하기 전에 package.json이 컨테이너에 없기 때문입니다.

수정된 Dockerfile
FROM node:20-alpine
WORKDIR /app

# 1. 의존성 파일만 먼저 복사 (layer 캐시 활용)
COPY package.json package-lock.json ./
RUN npm ci --production

# 2. 나머지 소스 복사
COPY . .

EXPOSE 3000
CMD ["node", "server.js"]

이렇게 하면 소스가 변경되어도 npm ci layer는 캐시되어 빌드 속도도 빨라집니다.

서서버관리자(guest)1년 전
덕분에 해결했습니다! 감사합니다 🙏
Ctrl+Enter로 등록