From 6ee948a3a09ec73d65116f2714154157e1e7a4c6 Mon Sep 17 00:00:00 2001 From: BigDaddyAman <139612136+BigDaddyAman@users.noreply.github.com> Date: Thu, 18 Sep 2025 14:25:21 +0800 Subject: [PATCH 1/2] chore: upgrade pip in Dockerfile --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index e7a4e9d..477345b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,8 @@ FROM python:3.12-slim RUN apt-get update && \ apt-get install -y postgresql-client gcc libpq-dev gzip && \ 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 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 2/2] 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"]