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.
This commit is contained in:
Dustin Ingram 2019-01-11 16:16:22 -06:00
parent 1567e2dd0c
commit fadf12c3c9
No known key found for this signature in database
GPG key ID: 93D2B8D4930A5E39
2 changed files with 9 additions and 26 deletions

View file

@ -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 . .

View file

@ -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 .