Dockerfile은 도커 이미지(Docker Image)를 만들기 위해 작성하는 **명령어 모음(스크립트 파일)**입니다. 쉽게 말해 “이미지를 자동으로 조립하기 위한 레시피” 같은 역할을 해요.
Dockerfile (확장자 없음)docker build 명령어를 실행하면 도커 이미지를 생성예시: 간단한 Python Flask 앱 실행용 Dockerfile
# 1. 베이스 이미지 선택
FROM python:3.9-slim
# 2. 작업 디렉토리 설정
WORKDIR /app
# 3. 소스코드 복사
COPY . /app
# 4. 필요한 패키지 설치
RUN pip install -r requirements.txt
# 5. 컨테이너 시작 시 실행할 명령어 지정
CMD ["python", "app.py"]
| 명령어 | 설명 |
|---|---|
FROM |
베이스 이미지 지정 (예: ubuntu:20.04, python:3.9) |
WORKDIR |
컨테이너 내에서 작업 디렉토리 설정 |
COPY |
로컬 파일을 컨테이너로 복사 |
ADD |
COPY와 비슷하지만, URL 다운로드나 압축 해제 가능 |
RUN |
이미지 빌드 과정에서 실행할 명령어 지정 (패키지 설치 등) |
CMD |
컨테이너가 시작될 때 실행할 기본 명령어 |
ENTRYPOINT |
컨테이너 실행 시 고정적으로 실행되는 명령어 |
EXPOSE |
컨테이너가 열어둘 포트 지정 (실제 포트 바인딩은 docker run -p) |
ENV |
환경 변수 설정 |
이미지 빌드
docker build -t myapp:1.0 .
(-t는 이미지 이름과 태그를 붙이는 옵션, .은 현재 디렉토리 의미)
컨테이너 실행
docker run -d -p 8080:80 myapp:1.0
→ 브라우저에서 http://localhost:8080 접근 가능