웹 UI 추가 및 Dockerfile 추가
This commit is contained in:
40
Dockerfile
40
Dockerfile
@@ -1,36 +1,20 @@
|
||||
# ===============================
|
||||
# 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 curl && \
|
||||
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl && \
|
||||
install -m 0755 kubectl /usr/local/bin/kubectl && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 필수 패키지
|
||||
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
|
||||
COPY migrator.py mapping.yaml app.py requirements.txt ./
|
||||
COPY templates ./templates
|
||||
|
||||
# 기본 mapping.yaml
|
||||
COPY mapping.yaml /app/mapping.yaml
|
||||
RUN pip install --no-cache-dir -r requirements.txt gunicorn
|
||||
|
||||
# 실행 권한
|
||||
RUN chmod +x /app/migrate.py
|
||||
RUN mkdir /work
|
||||
|
||||
# 기본 엔트리포인트
|
||||
ENTRYPOINT ["python", "/app/migrate.py"]
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["gunicorn", "-b", "0.0.0.0:8080", "--timeout", "300", "app:app"]
|
||||
|
||||
Reference in New Issue
Block a user