build: slim down the docker container (#60)

Co-authored-by: Ushie <ushiekane@gmail.com>
This commit is contained in:
Vitaly Artemyev
2023-09-26 08:56:16 +05:00
committed by GitHub
parent 1cfc41879d
commit 80b858c578
5 changed files with 37 additions and 9 deletions

View File

@@ -1,14 +1,34 @@
FROM python:3.11-slim
ARG GITHUB_TOKEN
ENV GITHUB_TOKEN $GITHUB_TOKEN
## Build dependencies
FROM python:3.11-slim as dependencies
WORKDIR /usr/src/app
RUN apt-get update && \
apt-get install -y --no-install-recommends gcc \
&& rm -rf /var/lib/apt/lists/*
RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
COPY requirements.txt .
RUN pip install -r requirements.txt
## Image
FROM python:3.11-slim
WORKDIR /usr/src/app
RUN apt-get update && \
apt-get install -y --no-install-recommends curl \
&& rm -rf /var/lib/apt/lists/*
ENV PATH="/opt/venv/bin:$PATH"
COPY --from=dependencies /opt/venv /opt/venv
COPY . .
RUN apt update && \
apt-get install build-essential libffi-dev libssl-dev openssl --no-install-recommends -y \
&& pip install --no-cache-dir -r requirements.txt
CMD docker/run-backend.sh
HEALTHCHECK CMD docker/run-healthcheck.sh
CMD [ "python3", "-m" , "sanic", "app:app", "--fast", "--access-logs", "--motd", "--noisy-exceptions", "-H", "0.0.0.0"]
EXPOSE 8000