Docker에서 작업 디렉토리 설정
존재하는 경우 컴퓨팅에서 프로세스의 작업 디렉토리는 각 프로세스에 대해 동적인 연결된 계층 파일 시스템의 디렉토리입니다. Docker에서 Dockerfile을 편집하고 WORKDIR
키를 추가하여 작업 디렉토리를 설정할 수 있습니다.
이 기사에서는 Docker에서 현재 및 기본 작업 디렉토리를 변경하는 방법에 대해 설명합니다.
Docker의 WORKDIR
Dockerfile의 WORKDIR
명령은 뒤에 오는 RUN
, CMD
, ENTRYPOINT
, COPY
및 ADD
명령의 작업 디렉토리를 결정합니다. Dockerfile에서 WORKDIR
명령을 여러 번 사용할 수 있습니다.
상대 경로를 제공하면 이전 WORKDIR
명령의 경로에 상대적이 됩니다.
예를 들어:
WORKDIR /usr
WORKDIR src/serv
RUN sampleserv
이 Dockerfile
에서 최종 sampleserv
명령의 출력은 /usr/src/serv
입니다.
WORKDIR
명령어는 이전에 ENV
명령어로 지정된 환경 변수를 해결할 수 있습니다. 그러나 Dockerfile에 명시적으로 설정된 환경 변수만 사용할 수 있습니다.
ENV DIRPATH=/usr
WORKDIR $DIRPATH/$DIRNAME
RUN sampleserv
이 Dockerfile에서 최종 sampleserv
명령의 출력은 /usr/$DIRNAME
입니다.
기본 작업 디렉토리는 루트 디렉토리 또는 /
(지정하지 않은 경우)입니다. 실제로 Dockerfile을 처음부터 만들지 않는 경우(FROM scratch
) 사용 중인 기본 이미지가 이미 WORKDIR
을 구성했을 수 있습니다.
따라서 알 수 없는 폴더에서 우발적인 활동을 방지하기 위해 WORKDIR
을 명시적으로 설정하는 것이 좋습니다.
명확성과 신뢰성을 위해 항상 WORKDIR
에 대한 절대 경로를 사용해야 합니다. 또한 읽기, 문제 해결 및 유지 관리가 어려운 RUN cd … && sample-code
와 같은 명령을 늘리는 대신 WORKDIR
을 사용해야 합니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn