split dockerfile

This commit is contained in:
Matthias Bisping 2022-02-09 12:24:13 +01:00
parent c8e14ab2b5
commit 2910ea7e63
4 changed files with 43 additions and 35 deletions

View File

@ -1,35 +1,21 @@
FROM python:3.8 as builder1
ARG BASE_ROOT="nexus.iqser.com:5001/red/"
ARG VERSION_TAG=latest
# Use a virtual environment.
RUN python -m venv /app/venv
ENV PATH="/app/venv/bin:$PATH"
# Upgrade pip.
RUN python -m pip install --upgrade pip
# Make a directory for the service files and copy the service repo into the container.
WORKDIR /app/service
COPY . ./
# Set up service as a module and install all its dependencies.
RUN bash setup/docker_local.sh
# Make a new container and copy all relevant files over to filter out temporary files
# produced during setup to reduce the final container's size.
FROM python:3.8
WORKDIR /app/
COPY --from=builder1 /app .
ENV PATH="/app/venv/bin:$PATH"
FROM ${BASE_ROOT}detr-server-base:${VERSION_TAG}
WORKDIR /app/service
RUN apt update --yes
RUN apt install vim --yes
RUN apt install poppler-utils --yes
COPY ./src ./src
COPY ./incl/detr ./incl/detr
COPY ./fb_detr ./fb_detr
RUN python3 -m pip install -e .
WORKDIR /app/service/incl/detr
RUN python3 -m pip install -e .
WORKDIR /app/service
EXPOSE 5000
EXPOSE 8080
# Run the service loop.
CMD ["python3", "src/run_service.py"]

29
Dockerfile-base Normal file
View File

@ -0,0 +1,29 @@
FROM python:3.8 as builder1
# Use a virtual environment.
RUN python -m venv /app/venv
ENV PATH="/app/venv/bin:$PATH"
# Upgrade pip.
RUN python -m pip install --upgrade pip
# Make a directory for the service files and copy the service repo into the container.
WORKDIR /app/service
COPY . ./
# Install dependencies.
RUN python3 -m pip install -r requirements.txt
# Make a new container and copy all relevant files over to filter out temporary files
# produced during setup to reduce the final container's size.
FROM python:3.8
WORKDIR /app/
COPY --from=builder1 /app .
ENV PATH="/app/venv/bin:$PATH"
WORKDIR /app/service
RUN apt update --yes
RUN apt install vim --yes
RUN apt install poppler-utils --yes

View File

@ -11,4 +11,5 @@ dvc pull
git submodule update --init --recursive
docker build -t detr-server .
docker build -f Dockerfile-base -t detr-server-base .
docker build -f Dockerfile -t detr-server . --build-arg VERSION_TAG=latest

View File

@ -1,8 +0,0 @@
#!/bin/bash
set -e
pip install -e .
pip install -r requirements.txt
cd incl/detr
pip install -e .