https://docs.docker.com/get-started/docker-concepts/building-images/writing-a-dockerfile/


Explanation

Dockerfile은 컨테이너 이미지를 생성하기 위해 사용되는 텍스트 기반 문서. Dockerfile은 이미지 빌더(builder)에게 실행할 명령어들, 복사할 파일, 시작 명령 등에 대한 지침(instructions)을 제공

예를 들면, 다음 Dockerfile은 실행이 가능한 상태의 Python앱을 만듦 :

FROM python:3.12
WORKDIR /usr/local/app

# Install the application dependencies
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

# Copy in the source code
COPY src ./src
EXPOSE 5000

# Setup an app user so the container doesn't run as the root user
RUN useradd app
USER app

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8080"]

Common instructions

Dockfile에서 자주 사용하는 명령어들은 다음과 같음 :

Try it out

Dockerfile은 대부분 다음 과정들로 이뤄짐 :

  1. 기본 이미지(base image) 결정
  2. 앱 의존성(application dependencies) 설치