पायथन 3.4.8, 3.5.5, 3.6.5 और 2.7.14 के साथ परीक्षण किया गया (बस 3 को 2 से बदलें):
# You can use a specific version too, like python:3.6.5-alpine3.7
FROM python:3-alpine
WORKDIR /usr/src/app
COPY requirements.txt .
RUN \
apk add --no-cache postgresql-libs && \
apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev && \
python3 -m pip install -r requirements.txt --no-cache-dir && \
apk --purge del .build-deps
COPY . .
CMD ["python3", "app.py"]
व्याख्या:Psycopg बनाने के लिए आपको संकुलों की आवश्यकता होती है gcc musl-dev postgresql-dev
. फिर आपको उस pg_config निष्पादन योग्य की भी आवश्यकता है:बस postgresql-dev
installing को स्थापित करते समय काम करेगा, postgresql-libs
ठीक भी करता है और कुछ 12 एमबी कम जगह लेता है।
यहां उत्तर का मूल संस्करण है (इस डॉकरफाइल पर आधारित) जहां मैं मैन्युअल रूप से एक शुद्ध अल्पाइन छवि पर पायथन स्थापित करता हूं क्योंकि उस समय पायथन ने पायथन 3.6 और अल्पाइन 3.7 के साथ डॉकर छवि प्रदान नहीं की थी। अगर आप इस तरह से Python 2.7 इंस्टॉल करना चाहते हैं, तो apk add py2-pip
भी करें। (जिसे py-pip
कहा जाता है पुराने अल्पाइन रेपो में)।
FROM alpine:3.7
WORKDIR /usr/src/app
COPY requirements.txt .
RUN \
apk add --no-cache python3 postgresql-libs && \
apk add --no-cache --virtual .build-deps gcc python3-dev musl-dev postgresql-dev && \
python3 -m pip install -r requirements.txt --no-cache-dir && \
apk --purge del .build-deps
COPY . .
CMD ["python3", "app.py"]