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:
parent
1567e2dd0c
commit
fadf12c3c9
2 changed files with 9 additions and 26 deletions
|
@ -1,21 +1,7 @@
|
||||||
FROM python:3-alpine as base
|
FROM python:3-slim as base
|
||||||
|
|
||||||
FROM base as builder
|
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
|
# get packages
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
RUN pip install -r requirements.txt
|
RUN pip install -r requirements.txt
|
||||||
|
@ -25,6 +11,10 @@ FROM base as final
|
||||||
# Enable unbuffered logging
|
# Enable unbuffered logging
|
||||||
ENV PYTHONUNBUFFERED=1
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
|
RUN apt-get -qq update \
|
||||||
|
&& apt-get install -y --no-install-recommends \
|
||||||
|
wget
|
||||||
|
|
||||||
# Download the grpc health probe
|
# Download the grpc health probe
|
||||||
RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \
|
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 && \
|
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
|
# Grab packages from builder
|
||||||
COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/
|
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
|
# Add the application
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
FROM python:3-alpine as base
|
FROM python:3-slim as base
|
||||||
|
|
||||||
FROM base as builder
|
FROM base as builder
|
||||||
|
|
||||||
RUN apk add --update --no-cache \
|
RUN apt-get -qq update \
|
||||||
gcc \
|
&& apt-get install -y --no-install-recommends \
|
||||||
linux-headers \
|
g++
|
||||||
make \
|
|
||||||
musl-dev \
|
|
||||||
python-dev \
|
|
||||||
g++
|
|
||||||
|
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue