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 not copying is not the first thing we do.

Related #124
  • Loading branch information
maringuu committed Aug 15, 2024
1 parent b765474 commit 8fcc14a
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
FROM phusion/baseimage:jammy-1.0.3

WORKDIR /opt/app
RUN --mount=type=cache,target=/var/cache/apt \
apt update && apt install -y \
python3.11 \
python3.11-dev \
python3.11-venv \
gcc

COPY . /opt/app
RUN python3.11 -m venv /venv
ENV PATH=/venv/bin:$PATH
ENV VIRTUAL_ENV=/venv

WORKDIR /opt/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

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

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"]
ENTRYPOINT ["/app/fact_extractor/docker_extraction.py"]

0 comments on commit 8fcc14a

Please sign in to comment.