37 lines
794 B
Docker
37 lines
794 B
Docker
# ===============================
|
|
# Stage 1: kubectl
|
|
# ===============================
|
|
FROM bitnami/kubectl AS kubectl
|
|
|
|
|
|
# ===============================
|
|
# Stage 2: runtime
|
|
# ===============================
|
|
FROM python:3.11-slim
|
|
|
|
# kubectl 복사
|
|
COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/kubectl
|
|
|
|
# 필수 패키지
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# python 패키지
|
|
RUN pip install --no-cache-dir ruamel.yaml
|
|
|
|
# 작업 디렉토리
|
|
WORKDIR /app
|
|
|
|
# 스크립트 복사
|
|
COPY migrate.py /app/migrate.py
|
|
|
|
# 기본 mapping.yaml
|
|
COPY mapping.yaml /app/mapping.yaml
|
|
|
|
# 실행 권한
|
|
RUN chmod +x /app/migrate.py
|
|
|
|
# 기본 엔트리포인트
|
|
ENTRYPOINT ["python", "/app/migrate.py"]
|