Skip to content

Commit

Permalink
refactor: Make the Dockerfile a tiny bit cache friendlier
Browse files Browse the repository at this point in the history
Still not great as the whole installation happens after copying
but at least copying is not the first thing we do anymore.

Related #124
  • Loading branch information
maringuu committed Aug 22, 2024
1 parent b765474 commit a7b9c56
Showing 1 changed file with 24 additions and 20 deletions.
44 changes: 24 additions & 20 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
FROM phusion/baseimage:jammy-1.0.3

WORKDIR /opt/app

COPY . /opt/app

WORKDIR /opt/app/fact_extractor

ARG USER=root
ARG DEBIAN_FRONTEND=noninteractive

RUN install_clean python3.11 python3.11-dev python3.11-venv gcc

RUN python3.11 -m venv venv

RUN . venv/bin/activate && install/pre_install.sh

RUN . venv/bin/activate && venv/bin/python3.11 install.py

ENV PATH=/opt/app/fact_extractor/venv/bin:$PATH

ENTRYPOINT ["./docker_extraction.py"]
RUN --mount=type=cache,target=/var/cache/apt \
apt update && apt install -y \
python3.11 \
python3.11-dev \
python3.11-venv \
gcc

RUN python3.11 -m venv /venv
ENV PATH=/venv/bin:$PATH \
VIRTUAL_ENV=/venv \
PYTHONPATH=/app/fact_extractor

ADD ./fact_extractor/install/pre_install.sh /app/fact_extractor/install/pre_install.sh
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/root/.cache/pip \
/app/fact_extractor/install/pre_install.sh

ADD . /app
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/root/.cache/pip \
/app/fact_extractor/install.py


ENTRYPOINT ["/app/fact_extractor/docker_extraction.py"]

0 comments on commit a7b9c56

Please sign in to comment.