From ae926d74fcc573b5b206814247f6d4425ef22a03 Mon Sep 17 00:00:00 2001 From: FireMasterK <20838718+FireMasterK@users.noreply.github.com> Date: Fri, 11 Sep 2020 09:36:41 +0000 Subject: [PATCH] Multi stage Docker build file. --- Dockerfile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5f8971d..ee57185 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,23 @@ -FROM python:3-alpine +FROM python:3-alpine AS builder WORKDIR /usr/src/app COPY requirements.txt ./ -RUN apk --no-cache add gcc musl-dev libffi-dev openssl-dev libxml2-dev libxslt-dev file llvm-dev make g++ \ - && pip install --no-cache-dir wheel cryptography gunicorn pymysql \ - && pip install --no-cache-dir -r requirements.txt \ - && apk del gcc musl-dev libffi-dev openssl-dev file llvm-dev make g++ +# Build Dependencies +RUN apk --no-cache --virtual build-deps add gcc musl-dev libffi-dev openssl-dev libxml2-dev libxslt-dev file llvm-dev make g++ + +# Python Dependencies +RUN pip install --no-cache-dir --prefix=/install wheel cryptography gunicorn pymysql +RUN pip install --no-cache-dir --prefix=/install -r requirements.txt + +FROM python:3-alpine + +WORKDIR /usr/src/app + +# Runtime Dependencies +RUN apk --no-cache add libxml2 libxslt +COPY --from=builder /install /usr/local COPY . .