설명
상대 경로 WORKDIR는 이전 작업 디렉터리를 기준으로 해석되며, 베이스 이미지의 설정을 이어받을 수도 있습니다. 유효한 문법이지만 기준 위치가 바뀌면 명령 실행 위치도 달라질 수 있습니다.
잠재적 영향
의도하지 않은 위치에 파일을 복사하거나 명령을 실행해 빌드 오류가 생길 수 있습니다.
해결 방법
각 단계에서 작업 디렉터리의 기준을 절대 경로로 지정하세요. 이후 상대 경로를 사용한다면 기준 위치와 최종 경로가 의도한 값인지 확인하세요.
예시
예시의 /usr/src 다음 WORKDIR app은 /usr/src/app으로 해석되므로 두 구성의 위치는 같습니다. 절대 경로로 합치면 앞선 선언에 대한 의존성을 줄일 수 있습니다.
변경 전
dockerfile
FROM node:22-alpine
WORKDIR /usr/src
WORKDIR app
COPY . .
변경 후
dockerfile
FROM node:22-alpine
WORKDIR /usr/src/app
COPY . .