From 961daa91f3f3af4edb3b09da334f578a6047468c Mon Sep 17 00:00:00 2001 From: Job Date: Wed, 13 Oct 2021 01:45:48 +0200 Subject: [PATCH] Improved Docker image size Improved Docker image size by using python's alpine image and installing the required dependencies seperately. This reduces the size of the image from 1.46 GB to 0.982 GB --- Dockerfile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 007e637f..1b485811 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,19 +5,20 @@ COPY ./static/package*.json /code/static/ RUN cd /code/static && npm install # Main image -FROM python:3.7 +FROM python:3.7-alpine -# install poetry, "pip3 install poetry==1.1.5" doesn't work -# poetry will be available at /root/.poetry/bin/poetry -RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - +# install poetry +RUN apk update \ + && apk add --no-cache build-base openssl-dev libffi-dev \ + && pip3 install poetry WORKDIR /code # install dependencies COPY poetry.lock pyproject.toml ./ -RUN /root/.poetry/bin/poetry config virtualenvs.create false \ - && /root/.poetry/bin/poetry install --no-root +RUN poetry config virtualenvs.create false \ + && poetry install --no-root # copy npm packages COPY --from=npm /code /code