Docker에서 작업 디렉토리 설정

Marion Paul Kenneth Mendoza 2023년6월20일
Docker에서 작업 디렉토리 설정

존재하는 경우 컴퓨팅에서 프로세스의 작업 디렉토리는 각 프로세스에 대해 동적인 연결된 계층 파일 시스템의 디렉토리입니다. Docker에서 Dockerfile을 편집하고 WORKDIR 키를 추가하여 작업 디렉토리를 설정할 수 있습니다.

이 기사에서는 Docker에서 현재 및 기본 작업 디렉토리를 변경하는 방법에 대해 설명합니다.

Docker의 WORKDIR

Dockerfile의 WORKDIR 명령은 뒤에 오는 RUN, CMD, ENTRYPOINT, COPYADD 명령의 작업 디렉토리를 결정합니다. 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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn