JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

WORKDIR : 작업 디렉토리를 지정

JSCODE 박재성
JSCODE 박재성
2025-12-01
author
JSCODE 박재성
category
Docker
createdAt
Dec 1, 2025
series
비전공자도 이해할 수 있는 Docker 입문
slug
dockerfile-workdir
type
post
updatedAt
Dec 1, 2025 12:07 PM

✅ 의미

WORKDIR으로 작업 디렉터리를 전환하면 그 이후에 등장하는 모든 RUN, CMD, ENTRYPOINT, COPY, ADD 명령문은 해당 디렉터리를 기준으로 실행된다. 작업 디렉터리를 굳이 지정해주는 이유는 컨테이너 내부의 폴더를 깔끔하게 관리하기 위해서이다. 컨테이너도 미니 컴퓨터와 같기 때문에 Dockerfile을 통해 생성되는 파일들을 특정 폴더에 정리해두는 것이 추후에 관리가 쉽다. 만약 WORKDIR을 쓰지 않으면 컨테이너 내부에 존재하는 기존 파일들과 뒤섞여버린다.
 

✅ 사용법

# 문법 WORKDIR [작업 디렉토리로 사용할 절대 경로] # 예시 WORKDIR /usr/src/app
 

🎯 예제

  1. app.txt, src, config.json 파일 만들기
    1.  
  1. Dockerfile 만들어서 이미지 생성 및 컨테이너 실행
    1. WORKDIR을 안 썼을 때 파일이 어떻게 구성되는 지 먼저 확인해보자.
      Dockerfile
      FROM ubuntu COPY ./ ./ ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] # 디버깅용 코드
$ docker build -t my-server . $ docker run -d my-server $ docker exec -it [Container ID] bash $ ls
 
 
WORKDIR을 썼을 때 파일이 어떻게 구성되는 지 확인해보자.
Dockerfile
FROM ubuntu WORKDIR /my-dir COPY ./ ./ ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]
 
$ docker build -t my-server . $ docker run -d my-server $ docker exec -it [Container ID] bash $ ls
author
category
Docker
createdAt
series
비전공자도 이해할 수 있는 Docker 입문
slug
type
series-footer
updatedAt
Jan 12, 2026 12:04 AM
📎
이 글은 비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편) 강의의 수업 자료 중 일부입니다.