Skip to content

Commit 2c751a1

Browse files
YuevUwUwinstonsung
authored andcommitted
refactor(docker): shorten dockerfile
1 parent e48f79f commit 2c751a1

2 files changed

Lines changed: 19 additions & 35 deletions

File tree

.docker/bot/Dockerfile

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,27 @@
1-
FROM python:3.11-slim-bullseye AS builder
1+
FROM python:3.11-slim-bullseye AS base
22

33
WORKDIR /app
44

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

9+
FROM base AS builder
10+
911
COPY requirements.txt .
1012
RUN pip install --no-cache-dir -r requirements.txt
1113

12-
FROM python:3.11-slim-bullseye AS development
13-
14-
WORKDIR /app
14+
FROM base AS development
1515

16-
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
1716
COPY --from=builder /usr/local/bin /usr/local/bin
17+
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
1818

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

21+
FROM base AS production
2122

22-
FROM python:3.11-slim-bullseye AS production
23-
24-
WORKDIR /app
25-
26-
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
2723
COPY --from=builder /usr/local/bin /usr/local/bin
24+
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
2825

2926
COPY . .
3027

.docker/web/Dockerfile

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,36 @@
1-
FROM python:3.11-slim-bullseye AS builder
1+
FROM python:3.11-slim-bullseye AS base
22

33
WORKDIR /app
4-
54
RUN apt-get update && apt-get install -y --no-install-recommends \
65
build-essential \
76
&& rm -rf /var/lib/apt/lists/*
87

8+
FROM base AS builder
99
COPY requirements.txt .
1010
RUN pip install --no-cache-dir -r requirements.txt
1111

12-
13-
FROM python:3.11-slim-bullseye AS development
14-
12+
FROM base AS development
1513
WORKDIR /app
16-
1714
COPY --from=builder /usr/local/bin /usr/local/bin
1815
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
19-
20-
ENV FLASK_APP=app.py
21-
ENV FLASK_ENV=development
22-
ENV FLASK_RUN_PORT=5000
23-
ENV FLASK_RUN_HOST=0.0.0.0
24-
16+
ENV FLASK_APP=app.py \
17+
FLASK_ENV=development \
18+
FLASK_RUN_PORT=5000 \
19+
FLASK_RUN_HOST=0.0.0.0
2520
EXPOSE 5000
26-
2721
CMD ["flask", "run"]
2822

29-
30-
FROM python:3.11-slim-bullseye AS gunicorn
23+
FROM base AS gunicorn
3124
RUN pip install --no-cache-dir gunicorn
3225

33-
34-
FROM python:3.11-slim-bullseye AS production
35-
36-
WORKDIR /app
26+
FROM base AS production
3727

3828
COPY --from=builder /usr/local/bin /usr/local/bin
39-
40-
COPY --from=gunicorn /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
4129
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
30+
COPY --from=gunicorn /usr/local/bin /usr/local/bin
31+
COPY --from=gunicorn /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
4232

4333
COPY . .
44-
4534
ENV GUNICORN_CMD_ARGS="--bind=0.0.0.0:5000 --workers=3"
46-
4735
EXPOSE 5000
48-
49-
CMD ["gunicorn", "app:app"]
36+
CMD ["gunicorn", "app:app"]

0 commit comments

Comments
 (0)