본문 바로가기

DevOps/Docker

[Docker 기본] WORKDIR: 작업 디렉토리를 지정

WORKDIR : 작업 디렉토리를 지정


WORKDIR로 작업 디렉터리를 전환하면 그 이후에 등장하는 명령문은 해당 디렉터리를 기준으로 실행된다. 

작업 디렉터리를 지정하는 이유는 컨테이너 내부의 폴더를 깔끔하게 관리하기 위해서이다. 추후 관리를 위해서 디렉터리를 생성하는 것이 좋다.

 

사용법


WORKDIR [작업 디렉터리로 사용할 절대 경로]

 

예제


1. 폴더 생성

 mkdir docker-workdir

 

2. 폴더에 Dockerfile 및 여러 개의 파일 생성

 

3. 빌드

 docker build -t my-server .

 

4. 컨테이너 띄우기

docker run -d my-server

 

5. 컨테이너에 들어가서 파일을 조회해보자.

docker exec -it 2bf bash

ls

=> 복사한 파일이 생성된 것을 확인할 수 있다. 

다른 파일과 섞여있어서 보기 불편하다. 컨테이너를 나와서 폴더 안에 파일을 생성해보자.

 

6. Dockerfile 에 디렉터리 지정 명령어를 추가해보자

FROM ubuntu

WORKDIR /my-dir

COPY ./ ./

ENTRYPOINT [ "/bin/bash", "-c", "sleep 500" ]

 

7. 빌드, 실행, 파일 조회

=> 경로가 달라진 것을 확인할 수 있다. ls 로 파일을 조회해보면 정상적으로 파일이 들어있다.

 

 

* Inflearn(인프런) ‘비전공자도 이해할 수 있는 Docker 입문/실전’ 강의 참고