WORKDIR 지시자를 살펴보자.
WORKDIR 지시자는 무엇인가
WORKDIR 지시자는 도커 파일에서 뒤에 오는 모든 지시자에 대한 작업 디렉터리를 설정한다. 리눅스 명령어의 cd와 비슷한 역할을 한다. 따라서 WORKDIR 지시자를 사용해 작업 디렉터리를 별도로 지정하면 로컬에 있는 파일들이 도커 컨테이너로 복사 될 때 WORKDIR 지시자에 정의한 디렉터리로 들어간다.
도커 컨테이너 안에 별도의 작업 디렉터리가 있어야 하는 이유
- 최상위 폴더 안에 들어 있던 파일 및 폴더의 이름이 COPY 지시자로 복사한 파일 및 폴더의 이름과 같다면 기존의 파일을 덮어쓰게 된다.
- 모든 파일이 한 디렉터리에 들어 있으면 복잡한 구조를 띄게 된다.
작업 디렉터리를 설정하는 방법
FROM node:10
WORKDIR /usr/src/app
COPY ./ ./
RUN npm install
CMD ["node", "server.js"]