[Docker] Dockerfile

김선형·2025년 8월 24일

Docker

목록 보기
5/6

Dockerfile

Dockerfile은 Docker 이미지를 생성하는 파일이다.
Dockerfile의 기본 구성은 아래와 같다.

# 베이스 이미지 생성. 컨테이너를 특정 초기 이미지를 기반으로 세팅할 수 있다.
FROM [imagename]:[tags]

# 작업 디렉토리 지정. 해당 명령어 뒤에 등장하는 모든 명령어는 지정한 디렉토리를 기준으로 실행한다.
WORKDIR [absolutepath]

# 파일 복사. 호스트 컴퓨터에 있는 파일을 복사해 컨테이너로 전달한다.
COPY [hostfile_path] [containerfile_path]

# 이미지 생성 과정 실행 명령어. 이미지 생성 과정에서 실행시킬 명령어를 지정한다.
RUN [command]

# 호스트와 공유할 디렉토리 목록 지정.
VOLUME [dirname]

# 컨테이너 내부 사용 포트 문서화. 컨테이너 내부에서 어떤 포트에 프로그램이 실행되는지를 문서화한다.
#실제 작동 방식에는 영향을 미치지 않는다.
EXPOSE [port]

# 컨테이너 시작 시 실행 명령어. 컨테이너가 생성되고 최초 실행할 때 수행할 명령어를 지정한다.
# docker run 명령에서 인자를 추가하면 ENTRYPOINT의 인자로 전달된다.
ENTRYPOINT [command]

# 컨테이너 실행 시 실행 파일 또는 명령어. 컨테이너를 실행할 때 기본적으로 실행할 명령어를 지정한다.
# docker run 명령에서 추가로 명령을 전달하면 CMD는 무시된다.
# 한 파일에 여러 CMD가  존재하는 경우, 마지막 CMD만 유효하다.
CMD [command]

✏️ .dockerignore 파일을 사용하여 특정 파일/폴더를 COPY에서 제외할 수 있다.

✏️ ENTRYPOINTCMD를 함께 사용하는 경우, CMD는 ENTRYPOINT의 인자로 전달된다.

Dockerfile 기반 이미지 생성

아래 명령어를 실행하여, Dockerfile을 기반으로 이미지를 생성할 수 있다.

docker build -t [imagename]:[tags] [Dockerfile_path]
profile
선형의 비선형적 기록 🐜

0개의 댓글