From 09e5fd1d13a0ed6476a269ce9fd6e90d877972b2 Mon Sep 17 00:00:00 2001 From: Stefan Hynek <stefan.hynek@uni-goettingen.de> Date: Fri, 25 Feb 2022 16:17:02 +0100 Subject: [PATCH] fix(dockerfile): move pyicu library build to own docker build stage reduces image size and leaves g++ package behind --- Dockerfile | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f86765e..70261b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,14 @@ # SPDX-License-Identifier: CC0-1.0 # syntax=docker/dockerfile:1 +FROM python:3.8-alpine as builder + +# build icu lib +# hadolint ignore=DL3018 +RUN apk add --no-cache g++ icu-dev \ + && pip install --no-cache-dir PyICU==2.8.1 + + FROM python:3.8-alpine LABEL \ @@ -15,11 +23,14 @@ LABEL \ org.label-schema.vcs-url="https://gitlab.gwdg.de/dariah-de/textgridrep/repdav" \ org.label-schema.vendor="SUB/FE" +# copy pre-compiled icu lib from builder stage +COPY --from=builder /usr/local/lib/python3.8/site-packages/icu /usr/local/lib/python3.8/site-packages/icu +COPY --from=builder /usr/local/lib/python3.8/site-packages/PyICU-2.8.1.dist-info /usr/local/lib/python3.8/site-packages/PyICU-2.8.1.dist-info + +# icu-dev package is nevertheless needed by the python library # hadolint ignore=DL3018 RUN adduser -D repdav \ - && apk add --no-cache \ - # currently needed by icu library; needs to be replaced somehow... - g++ icu-dev + && apk add --no-cache icu-dev USER repdav -- GitLab