updated docker files
This commit is contained in:
@@ -0,0 +1,53 @@
|
|||||||
|
# build stage
|
||||||
|
FROM python:3.12-slim-bookworm as BUILDER
|
||||||
|
|
||||||
|
# set environment variables
|
||||||
|
ENV PYTHONUNBUFFERED=1 \
|
||||||
|
PYTHONDONTWRITEBYTECODE=1 \
|
||||||
|
PIP_NO_CACHE_DIR=off \
|
||||||
|
PIP_DISABLE_PIP_VERSION_CHECK=ON \
|
||||||
|
PIP_DEFAULT_TIMEOUT=100 \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
POETRY_HOME=/etc/poetry \
|
||||||
|
POETRY_VERSION=1.7.1 \
|
||||||
|
POETRY_VIRTUALENVS_IN_PROJECT=1 \
|
||||||
|
POETRY_VIRTUALENVS_CREATE=1 \
|
||||||
|
POETRY_NO_INTERACTION=1 \
|
||||||
|
POETRY_CACHE_DIR=/tmp/poetry_cache \
|
||||||
|
APP_HOME=/home/app
|
||||||
|
|
||||||
|
# update system
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
curl \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# install poetry
|
||||||
|
RUN curl -sSL https://install.python-poetry.org | python3 -
|
||||||
|
ENV PATH="${POETRY_HOME}/bin:$PATH"
|
||||||
|
|
||||||
|
# install runtime dependencies
|
||||||
|
WORKDIR ${APP_HOME}
|
||||||
|
COPY ./poetry.lock ./pyproject.toml ./
|
||||||
|
RUN --mount=type=cache,target=${POETRY_CACHE_DIR} poetry install \
|
||||||
|
--with shared,model
|
||||||
|
|
||||||
|
# final stage
|
||||||
|
FROM python:3.12-slim-bookworm
|
||||||
|
|
||||||
|
# copy virtualenv made by poetry
|
||||||
|
ENV APP_HOME=/home/app \
|
||||||
|
VIRTUAL_ENV=/home/app/.venv
|
||||||
|
COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
|
||||||
|
ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
|
||||||
|
|
||||||
|
# create home directory and app user
|
||||||
|
RUN mkdir -p /home/app
|
||||||
|
|
||||||
|
# add code while changing ownership
|
||||||
|
WORKDIR $APP_HOME
|
||||||
|
COPY ./shared ./shared
|
||||||
|
COPY ./model/src ./
|
||||||
|
|
||||||
|
ENTRYPOINT [ "python", "main.py" ]
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
services:
|
||||||
|
vcda_model:
|
||||||
|
image: vcda_model:test
|
||||||
|
container_name: vcda_model_alone
|
||||||
|
build:
|
||||||
|
context: ../
|
||||||
|
dockerfile: ./Dockerfile.model
|
||||||
|
env_file:
|
||||||
|
- ../server.env
|
||||||
|
environment:
|
||||||
|
- ENV=TEST
|
||||||
Reference in New Issue
Block a user