Sie fügen verschiedene Systempakete für Dinge wie Datenbankclients, Bilddateibearbeitung und XML-Parsing-Bibliotheken hinzu. Dies ist so, es gibt keine zusätzliche Arbeit, die ein Benutzer tun muss, wenn er Python-Pakete für psycopg2, MySQLdb, Pillow oder lxml installieren möchte. Das Hinzufügen dieser zusätzlichen Pakete bedeutet jedoch, dass das Bild dicker wird, was, wenn Sie diese Pakete nicht benötigen, Platzverschwendung wäre.
Sie versuchen auch nicht, Dinge aus der Python-Installation zu trimmen, die nicht wirklich benötigt werden, wie zum Beispiel alle Standardbibliotheks-Testcodeverzeichnisse. Selbst die .pyc-Dateien können so gekürzt werden, dass Speicherplatz eingespart wird, ohne dass sich dies wirklich auswirkt, da eine Webanwendung in der Regel einmal für die gesamte Lebensdauer des Containers geladen wird.
Zum Vergleich, werfen Sie einen Blick auf die 'pythonX.Y-slim' Varianten und deren Größe. Es gibt keine Onbuild-Variante für die schlanken Bilder.
Sie könnten auch meine eigenen Docker Bilder für Python mit gebündelter Apache/mod_wsgi Unterstützung ansehen. Diese werden getrimmt und verlassen sich auf zusätzliche Pakete, die vom Benutzer nur als Build-Hooks installiert werden, wenn dies erforderlich ist. Für diejenigen, die Größe von Python 3.4 onbuild Bild speziell für eine WSGI Anwendung ist:
grahamdumpleton/mod-wsgi-docker python-3.4-onbuild ... 409.9 MB
Die Größe gegeben, selbst enthält Apache und mod_wsgi, Ihnen einen richtigen Produktion Grad WSGI Server mit Fähigkeiten gab statischen Dateiinhalt zu handhaben und vieles mehr.
Wenn Sie keine WSGI-Anwendung ausführen, starten Sie stattdessen mit dem Basisimage.
Sie können die mod_wsgi Docker Bilder finden Sie unter:
Verschiedene Blog-Posts darüber, wie diese Bilder für WSGI Anwendungen zu nutzen und den Aufbau Docker Bilder für Python und WSGI Anwendungen gefunden werden kann verlinkt aus der Bildbeschreibung auf Docker Hub. Behalte auch meine Blog-Seite im Auge, da ich im Laufe der Zeit mehr über Docker und Python veröffentlichen werde.
ich Bild von hier - https://registry.hub.docker.com/_/python/ – tim