From fadf12c3c93a800503fb5a89cfe570719dcaf3c0 Mon Sep 17 00:00:00 2001 From: Dustin Ingram Date: Fri, 11 Jan 2019 16:16:22 -0600 Subject: [PATCH] Switch to -slim from -alpine Python's built distribution format (wheel) is incompatible with alpine-based images, causing dependencies to be compiled from scratch. This also removes a number of unnecessary system-level dependencies. --- src/emailservice/Dockerfile | 23 +++++------------------ src/loadgenerator/Dockerfile | 12 ++++-------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/src/emailservice/Dockerfile b/src/emailservice/Dockerfile index 0bb5695..b4b2a94 100644 --- a/src/emailservice/Dockerfile +++ b/src/emailservice/Dockerfile @@ -1,21 +1,7 @@ -FROM python:3-alpine as base +FROM python:3-slim as base FROM base as builder -# gRPC and app deps -RUN apk add --update --no-cache \ - gcc \ - linux-headers \ - make \ - musl-dev \ - python-dev \ - g++ \ - # App Deps - cairo-dev \ - cairo \ - openssl-dev \ - gobject-introspection-dev - # get packages COPY requirements.txt . RUN pip install -r requirements.txt @@ -25,6 +11,10 @@ FROM base as final # Enable unbuffered logging ENV PYTHONUNBUFFERED=1 +RUN apt-get -qq update \ + && apt-get install -y --no-install-recommends \ + wget + # Download the grpc health probe RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ @@ -35,9 +25,6 @@ WORKDIR /email_server # Grab packages from builder COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/ -# Need libstdc++ for grpc -RUN apk add --no-cache libstdc++ - # Add the application COPY . . diff --git a/src/loadgenerator/Dockerfile b/src/loadgenerator/Dockerfile index b0004cf..cebb98c 100644 --- a/src/loadgenerator/Dockerfile +++ b/src/loadgenerator/Dockerfile @@ -1,14 +1,10 @@ -FROM python:3-alpine as base +FROM python:3-slim as base FROM base as builder -RUN apk add --update --no-cache \ - gcc \ - linux-headers \ - make \ - musl-dev \ - python-dev \ - g++ +RUN apt-get -qq update \ + && apt-get install -y --no-install-recommends \ + g++ COPY requirements.txt .