From 6e191441dae17d57517566dd293755e8f98bcec8 Mon Sep 17 00:00:00 2001 From: BigDaddyAman <139612136+BigDaddyAman@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:27:51 +0800 Subject: [PATCH] refactor: use multi-stage Dockerfile for smaller runtime image --- Dockerfile | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 477345b..7468913 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,24 @@ -FROM python:3.12-slim +FROM python:3.12-slim AS builder RUN apt-get update && \ - apt-get install -y postgresql-client gcc libpq-dev gzip && \ + apt-get install -y gcc libpq-dev && \ rm -rf /var/lib/apt/lists/* - + RUN pip install --upgrade pip setuptools wheel COPY requirements.txt /app/requirements.txt -RUN pip install --no-cache-dir -r /app/requirements.txt +RUN pip install --prefix=/install -r /app/requirements.txt + +FROM python:3.12-slim + +RUN apt-get update && \ + apt-get install -y postgresql-client gzip && \ + rm -rf /var/lib/apt/lists/* + +COPY --from=builder /install /usr/local COPY main.py /app/main.py WORKDIR /app -CMD ["python", "main.py"] \ No newline at end of file +CMD ["python", "main.py"]