728x90
Dockerfile(도커파일)은 한 마디로 말해 "도커(Docker) 컨테이너를 만들기 위한 요리 레시피(설계도)"입니다.
컴퓨터 프로그램이 실행되기 위해 필요한 환경(운영체제, 프로그램 언어 라이브러리, 소스 코드 등)을 어떻게 준비하고 실행할지 텍스트 형태의 명령어 목록으로 적어 놓은 파일이에요.
💡 왜 Dockerfile을 사용할까요?
친구에게 내가 만든 프로그램을 전해줄 때, "파이썬 3.10 설치하고, 이 라이브러리 받고, 이 파일 어디 두고 실행해!"라고 설명하면 환경이 달라서 오류가 나기 쉽죠?
Dockerfile이 있으면 명령어 한 줄로 누구의 컴퓨터에서나 똑같은 실행 환경을 똑같이 재현할 수 있습니다.
📝 Dockerfile의 기본 구조 (예시)
웹 서버나 파이썬 프로그램을 실행할 때 작성하는 아주 기본 형태의 Dockerfile 예시입니다.
Dockerfile
# 1. 기반이 될 바탕 이미지(베이스) 선택 (운영체제 + 언어)
FROM python:3.10-slim
# 2. 작업할 폴더 지정 (컨테이너 내부)
WORKDIR /app
# 3. 내 컴퓨터의 파일들을 컨테이너 안으로 복사
COPY . /app
# 4. 필요한 라이브러리 설치
RUN pip install --no-cache-dir -r requirements.txt
# 5. 외부에서 접속할 포트 번호 열기
EXPOSE 8000
# 6. 컨테이너가 시작될 때 실행할 기본 명령어
CMD ["python", "main.py"]
🔑 자주 쓰는 핵심 명령어 정리
명령어 역할 설명
| FROM | 베이스 이미지 | 레시피의 '기반 베이스'. (예: ubuntu, python, node 등) |
| WORKDIR | 작업 디렉토리 | 이후 명령어들이 실행될 컨테이너 내부 폴더 위치 지정 |
| COPY | 파일 복사 | 내 컴퓨터(호스트)의 파일/폴더를 컨테이너 안으로 복사 |
| RUN | 명령어 실행 | 이미지 빌드 과정 중에 프로그램 설치 등의 명령어 실행 |
| EXPOSE | 포트 설정 | 컨테이너가 개방할 네트워크 포트 지정 |
| ENV | 환경 변수 | 컨테이너 내부에서 사용할 환경 변수 설정 |
| CMD | 실행 명령어 | 컨테이너가 시작(run)되었을 때 실행할 최종 명령어 |
🔄 Dockerfile 실행 흐름
Dockerfile이 실제 실행 환경(컨테이너)이 되기까지는 두 단계를 거칩니다.
- 빌드 (Build): Dockerfile을 읽어서 하나의 완성된 저장소 형태인 이미지(Image)를 만듭니다.
docker build -t my-app . - 실행 (Run): 생성된 이미지를 실행하여 실제 작동하는 컨테이너(Container)를 띄웁니다.
docker run -p 8000:8000 my-app
728x90
'법, 용어 > 용어' 카테고리의 다른 글
| 용어 | MSA | DDD (0) | 2026.08.25 |
|---|---|
| 단어 | mut (0) | 2026.08.10 |
| Supabase (0) | 2026.08.06 |
| Zod (0) | 2026.07.31 |
| 단일 진실원인(SSOT, Single Source of Truth) (0) | 2026.07.31 |