Skip to content

Commit

Permalink
refactor(docker): shorten dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
YuevUwU authored and winstonsung committed Jan 16, 2025
1 parent a107b9a commit 218477c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 35 deletions.
17 changes: 7 additions & 10 deletions .docker/bot/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,30 +1,27 @@
FROM python:3.11-slim-bullseye AS builder
FROM python:3.11-slim-bullseye AS base

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*

FROM base AS builder

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

FROM python:3.11-slim-bullseye AS development

WORKDIR /app
FROM base AS development

COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=builder /usr/local/bin /usr/local/bin
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages

CMD ["python3", "main.py"]

FROM base AS production

FROM python:3.11-slim-bullseye AS production

WORKDIR /app

COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=builder /usr/local/bin /usr/local/bin
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages

COPY . .

Expand Down
37 changes: 12 additions & 25 deletions .docker/web/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,49 +1,36 @@
FROM python:3.11-slim-bullseye AS builder
FROM python:3.11-slim-bullseye AS base

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*

FROM base AS builder
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt


FROM python:3.11-slim-bullseye AS development

FROM base AS development
WORKDIR /app

COPY --from=builder /usr/local/bin /usr/local/bin
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages

ENV FLASK_APP=app.py
ENV FLASK_ENV=development
ENV FLASK_RUN_PORT=5000
ENV FLASK_RUN_HOST=0.0.0.0

ENV FLASK_APP=app.py \
FLASK_ENV=development \
FLASK_RUN_PORT=5000 \
FLASK_RUN_HOST=0.0.0.0
EXPOSE 5000

CMD ["flask", "run"]


FROM python:3.11-slim-bullseye AS gunicorn
FROM base AS gunicorn
RUN pip install --no-cache-dir gunicorn


FROM python:3.11-slim-bullseye AS production

WORKDIR /app
FROM base AS production

COPY --from=builder /usr/local/bin /usr/local/bin

COPY --from=gunicorn /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=gunicorn /usr/local/bin /usr/local/bin
COPY --from=gunicorn /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages

COPY . .

ENV GUNICORN_CMD_ARGS="--bind=0.0.0.0:5000 --workers=3"

EXPOSE 5000

CMD ["gunicorn", "app:app"]
CMD ["gunicorn", "app:app"]

0 comments on commit 218477c

Please sign in to comment.