File tree Expand file tree Collapse file tree 1 file changed +6
-24
lines changed
Expand file tree Collapse file tree 1 file changed +6
-24
lines changed Original file line number Diff line number Diff line change @@ -2,37 +2,19 @@ FROM python:3.9-slim-buster
22
33WORKDIR /usr/src/app
44
5- # Python 서버 파일 복사
5+ # 의존성 먼저 설치 (캐시 활용)
6+ COPY requirements.txt ./
7+ RUN pip install --no-cache-dir -r requirements.txt
8+
9+ # 앱 코드 복사
610COPY server/app.py .
711COPY server/code ./code
812
9- # requirements.txt 복사 → 꼭 있어야 함
10- COPY requirements.txt ./
11-
12- # 모든 언어의 entrypoint 스크립트 복사
13+ # 엔트리포인트 스크립트 복사
1314COPY docker/python/entrypoint.sh ./entrypoint_python.sh
1415COPY docker/java/entrypoint.sh ./entrypoint_java.sh
15-
16- # 실행 권한 부여
1716RUN chmod +x entrypoint_*.sh
1817
19- # 필요한 Python 패키지 설치 (Flask + OpenAI + dotenv 등 전부)
20- RUN pip install --no-cache-dir -r requirements.txt
21-
22- # 필요한 패키지 설치 전 캐시 클리어
23- RUN apt-get update && apt-get install -y \
24- ca-certificates \
25- curl \
26- gnupg \
27- lsb-release && \
28- curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
29- echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list && \
30- apt-get update && \
31- apt-get install -y docker-ce docker-ce-cli containerd.io && \
32- ln -s /usr/bin/docker /usr/local/bin/docker && \
33- apt-get clean && \
34- rm -rf /var/lib/apt/lists/* /var/cache/apt/*
35-
3618# Python 버퍼링 비활성화
3719ENV PYTHONUNBUFFERED=1
3820
You can’t perform that action at this time.
0 commit comments