본문 바로가기
법, 용어/용어

dockerfile 이란?

by 3604 2026. 8. 10.
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이 실제 실행 환경(컨테이너)이 되기까지는 두 단계를 거칩니다.

  1. 빌드 (Build): Dockerfile을 읽어서 하나의 완성된 저장소 형태인 이미지(Image)를 만듭니다.
    docker build -t my-app .
    
  2. 실행 (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