Update image building

This commit is contained in:
2022-05-06 10:17:43 +03:00
parent 8e41af34d4
commit 85ee459617

View File

@@ -1,37 +1,25 @@
FROM python:3.10-slim as build-image FROM ghcr.io/kurbezz/base_docker_images:3.10-postgres-asyncpg-poetry-buildtime as build-image
RUN apt-get update \
&& apt-get install --no-install-recommends -y gcc build-essential python3-dev libpq-dev libffi-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /root/poetry WORKDIR /root/poetry
COPY pyproject.toml poetry.lock /root/poetry/ COPY pyproject.toml poetry.lock /root/poetry/
RUN pip install poetry wheel --no-cache-dir \
&& poetry export --without-hashes > requirements.txt
ENV VENV_PATH=/opt/venv ENV VENV_PATH=/opt/venv
RUN python -m venv $VENV_PATH \ RUN poetry export --without-hashes > requirements.txt \
&& . "${VENV_PATH}/bin/activate" \ && . "${VENV_PATH}/bin/activate" \
&& pip install -r requirements.txt --no-cache-dir && pip install -r requirements.txt --no-cache-dir
FROM python:3.10-slim as runtime-image FROM ghcr.io/kurbezz/base_docker_images:3.10-postgres-runtime as runtime-image
RUN apt-get update \
&& apt-get install --no-install-recommends -y wget python3-dev libpq-dev libffi-dev \
&& rm -rf /var/lib/apt/lists/*
COPY ./src/ /app/
ENV VENV_PATH=/opt/venv ENV VENV_PATH=/opt/venv
COPY --from=build-image $VENV_PATH $VENV_PATH
ENV PATH="$VENV_PATH/bin:$PATH" ENV PATH="$VENV_PATH/bin:$PATH"
WORKDIR /app/
COPY --from=build-image $VENV_PATH $VENV_PATH
COPY ./src/ /app/
COPY ./scripts/healthcheck.py /root/healthcheck.py COPY ./scripts/healthcheck.py /root/healthcheck.py
EXPOSE 8080 EXPOSE 8080
WORKDIR /app/
CMD gunicorn -k uvicorn.workers.UvicornWorker main:app --bind 0.0.0.0:8080 CMD gunicorn -k uvicorn.workers.UvicornWorker main:app --bind 0.0.0.0:8080