25년 1월을 기준으로 작성되었습니다
1. Dockerfile이란?
Dockerfile은 도커 이미지를 생성하기 위한 설계도 또는 명세서의 역할을 합니다. 주요 특징과 동작 방식을 설명해드리겠습니다.
기본 역할
Dockerfile은 도커 이미지를 자동으로 빌드하기 위한 모든 명령어들을 포함하는 텍스트 파일이다.
이는 이미지 생성 과정을 자동화하고 표준화하는 역할을 한다.
동작 방식
이미지 빌드 시점에만 사용
- Dockerfile은 오직 docker build 명령어를 실행할 때만 참조된다.
- 빌드 과정에서 Dockerfile의 각 명령어는 새로운 레이어를 생성한다.
- 컨테이너 실행 시점에는 더 이상 Dockerfile을 참조하지 않는다.
레이어 구조
- 각 명령어는 독립적인 레이어를 생성하며, 이전 레이어를 기반으로 순차적으로 실행된다.
- 캐시 기능을 통해 변경되지 않은 레이어는 재사용되어 빌드 효율성을 높인다.
주요 장점
재현성
- 동일한 Dockerfile로 언제든지 같은 환경의 이미지를 생성할 수 있다.
- 이미지 생성 과정이 문서화되어 유지보수가 용이하다.
자동화
- 수동으로 컨테이너를 구성하고 커밋하는 방식보다 효율적이다.
- CI/CD 파이프라인에 쉽게 통합할 수 있다.
따라서 Dockerfile은 이미지를 빌드하는 시점에만 사용되며,
컨테이너 실행 시에는 이미 빌드된 이미지만을 참조한다는 점을 명확히 이해하는 것이 중요!
