Dockerfile 개요
Dockerfile 개요 (Dockerfile overview)
Dockerfile
모든 것은 Dockerfile로 시작해요.
Docker는 Dockerfile의 명령어를 읽어 이미지를 빌드해요. Dockerfile은 소스 코드 빌드를 위한 명령어를 담은 텍스트 파일이에요. Dockerfile 명령어 문법은 Dockerfile reference의 스펙 참조에 정의되어 있어요.
출처: 문서
본문
가장 흔한 Dockerfile 명령어 유형은 다음과 같아요. Dockerfile은 이미지 빌드의 핵심 입력이며, 여러분의 고유한 구성에 따라 자동화된 멀티 레이어 이미지 빌드를 가능하게 해요. Dockerfile은 단순하게 시작해서 더 복잡한 시나리오를 지원하도록 요구에 맞춰 성장할 수 있어요.
파일명 (Filename)
docker build는 기본적으로 컨텍스트 루트의 Dockerfile이라는 파일명을 사용해요. -f 플래그로 다른 파일명을 지정할 수 있어요. 프로젝트의 기본 Dockerfile을 Dockerfile로 두는 것이 관례예요.
Docker 이미지 (Docker images)
Docker 이미지는 레이어로 구성돼요. 각 레이어는 Dockerfile의 빌드 명령 하나의 결과예요. 레이어는 순차적으로 쌓이며, 각각은 이전 레이어에 적용된 변경 사항을 나타내는 델타(delta)예요.
예시 (Example)
Docker로 애플리케이션을 빌드하는 전형적인 워크플로는 다음과 같아요. 아래 예시 코드는 Python을 사용하는 작은 "Hello World" 애플리케이션을 보여줘요.
(원본 문서에는 단계별 예시가 포함되어 있어요: 기본 이미지 지정, 작업 디렉터리 설정, 파일 복사, RUN으로 의존성 설치, EXPOSE/CMD로 실행 방법 정의 등.)
요약하면 Dockerfile은 다음을 포함해요:
FROM: 베이스 이미지 지정WORKDIR: 작업 디렉터리 설정COPY: 파일/디렉터리를 이미지로 복사RUN: 빌드 시 명령 실행 (의존성 설치 등)CMD/ENTRYPOINT: 컨테이너 실행 시 동작 정의EXPOSE: 노출할 포트 명시
각 명령어의 전체 문법과 예시는 Dockerfile reference를 참고해요.