FROM | 베이스 이미지 설정 | FROM python:3.11-slim |
LABEL | 이미지에 메타데이터 추가 | LABEL maintainer="you@example.com" |
ENV | 환경 변수 설정 | ENV DEBUG=False |
ARG | 빌드 타임 변수 설정 | ARG VERSION=1.0 |
RUN | 셸 명령어 실행 (이미지 빌드 시) | RUN apt-get update && apt-get install -y gcc |
COPY | 호스트의 파일/디렉토리를 이미지에 복사 | COPY ./app /app |
ADD | COPY와 유사하지만 URL, 압축파일 지원 | ADD https://example.com/file.tar.gz /app/ |
WORKDIR | 작업 디렉토리 설정 (이후 명령의 기본 경로) | WORKDIR /app |
EXPOSE | 컨테이너가 사용할 포트 명시 (실제 포트 바인딩 아님) | EXPOSE 8000 |
CMD | 컨테이너 시작 시 실행할 명령어 설정 (기본값) | CMD ["python", "manage.py", "runserver"] |
ENTRYPOINT | 컨테이너 시작 시 실행할 명령어 (고정) | ENTRYPOINT ["./entrypoint.sh"] |
VOLUME | 볼륨 마운트 지점 지정 | VOLUME /data |
USER | 명령 실행할 사용자 설정 | USER appuser |