2017-06-28 1 views
0

Ich habe ein Bild heruntergeladen, das nur debian OS enthält und begann, darauf aufzubauen. Das Debian-Bild war etwa 700 MB, als ich damit anfing. Nach der Installation von LAMP, Drupal Website, Lack, Tomcat, Solr und einigen anderen Dienstleistungen. Das Bild ist deutlich gestiegen (i, e) bis zu 13 GB und nach dem Importieren eines 3 GB großen DFÜ-Abbilds zu diesem Bild verdoppelte sich die Größe des Bildes auf etwa 29 GB.Reduzieren Andocker Bildgröße

Warum passiert das? Gibt es eine Möglichkeit, die Gesamtgröße des Bildes zu reduzieren?

+1

Lesen Sie die Best Practices für Dockerfiles: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ Idealerweise ist jeder Dienst in einem eigenen Container enthalten (Apache, MySQL, PHP-FPM) , ...). Wenn Sie alles aufteilen und schlau über die Ebenen Ihrer Docker-Bilder sind, sollten Sie das beste Ergebnis erzielen. Und verwende Docker nicht wie eine virtuelle Maschine. – jdno

+0

Eine andere Sache, die Sie ausprobieren könnten, ist ein minimaleres Basisbild wie alpin. Es wurde kompakt gebaut, so dass es sich gut für Container eignet, wenn Sie sich Gedanken über die Größe des endgültigen Bildes machen. Sie müssen es nicht unbedingt für alle Ihre Dienste verwenden, aber es könnte für mehrere von ihnen eine gute Lösung sein. – programmerq

Antwort

0

Ein kleiner Trick ist es apt-get install mit dem --no-install-recommends Flag bestanden zu verwenden. Dies installiert die minimalen Abhängigkeiten für die Pakete, die Sie installieren.

aber sagen, dass alles in einem Dockerfile Putting ist ein Antipattern. Jede "Anwendung" sollte ihr eigener Docker-Container sein. Du hast also einen für Varnish, einen für Solr, einen für die Datenbank, einen für die Drupal-Seite usw. Jeder wird relativ klein sein. Sie teilen sich alle das Debian-Basisbild. Um sie zu koordinieren, verwenden Sie etwas wie Docker Compose.