2016-03-29 15 views
0

Ich möchte getrennte Container mit einem einzigen Dienst in jedem (mehr oder weniger) erstellen. Ich verwende das php7-apache Bild, das ein Basisbild von debian:jessie, php7 und apache zu verwenden scheint. Da Apache und PHP in diesem Fall ziemlich miteinander verflochten sind, macht es mir nichts aus, diesen Container zu benutzen.Verschiedene Bilder in Containern

Ich möchte andere Dienste zu ihren eigenen Containern (git zum Beispiel) hinzufügen und erwog, ein kleines Basisbild wie busybox oder alpinebox für diese Container zu verwenden, um die Bildgröße niedrig zu halten.

Das gesagt, ich habe gelesen, dass die Verwendung der gleichen Basis-Image als andere Container gibt Ihnen nur die "Strafe" der einmaligen Download von der Basis-Betriebssystem (Debian Jessie), die dann zwischengespeichert wird - während der Verwendung kleiner Betriebssysteme in Andere Container laden diese Betriebssysteme über das Basisbetriebssystem herunter.

Was ist die beste Vorgehensweise in diesem Fall? Soll ich für alle Container in diesem Fall das gleiche Basisbild (debian jessie) verwenden?

Antwort

0

Sie können ein Basisbild von Grund auf neu erstellen. Create a base image from scratch.

Von Docker Dokumentation

können Sie Docker die Nutzung reserviert, minimal Bild, Kratzer, als Ausgangspunkt für Baucontainer. Wenn Sie den Scratch-Befehl "image" für den Erstellungsprozess verwenden, wird der nächste Befehl in der Docker-Datei als erste Dateisystemebene in Ihrem Image angezeigt.

Während Scratch im Docker-Repository auf dem Hub angezeigt wird, können Sie es nicht abrufen, ausführen oder ein Bild mit dem Namen scratchen markieren. Stattdessen können Sie in Ihrer Dockerfile darauf verweisen. Um beispielsweise einen minimalen Container mit scratch zu erstellen, gehen Sie wie folgt vor:

In diesem Beispiel wird das Hello-World-Bild erstellt, das in den Lernprogrammen verwendet wird. Wenn Sie es testen möchten, können Sie das Bild Repo

+1

klonen Ich sehe nicht, wie dies in OPs Fall helfen würde. Er verwendet bereits 'php7-apache', das Erstellen eines neuen Basisbildes ändert das Basisbild dieses Bildes nicht, es sei denn, er erstellt auch 'php7-apache'. Selbst wenn er es täte, gäbe es keinen Vorteil gegenüber der bloßen Verwendung von "debian: jessie". – morxa

Verwandte Themen