FROM python:3.8-alpine as base ENV PYROOT /pyroot ENV PYTHONUSERBASE $PYROOT FROM base as builder RUN apk add --no-cache \ gcc \ g++ \ musl-dev \ python3-dev && \ pip3 install pipenv COPY Pipfile* ./ RUN PIP_USER=1 PIP_IGNORE_INSTALLED=1 pipenv install --system --deploy --ignore-pipfile RUN pip3 uninstall --yes pipenv FROM base # Install six explicitly. Otherwise Python complains about it missing. RUN pip3 install six COPY --from=builder $PYROOT/bin/ $PYROOT/bin/ COPY --from=builder $PYROOT/lib/ $PYROOT/lib/ WORKDIR /app COPY . . CMD ["python3", "run_prod.py"]