2017-11-19 12 views
0

Die Docker-Plattform enthält den Befehl commit.Was ist der beste Fall für den Commit-Docker-Befehl?

Dieser Befehl kann ein Bild von einem Container erstellen, wenn ich dies in der offiziellen Anleitung lese Ich denke, Datenbank Container mit Daten zu begehen, aber diese Option wird nicht unterstützt.

Meine Frage ist: Was ist der beste Fall, den commit docker Befehl zu verwenden?

+0

Es kann verwirrend sein, es ist nicht wirklich das gleiche wie ein Git-Commit, da Sie eigentlich nicht die Projektdateien festschreiben, im Wesentlichen nur das, was in der Dockerfile selbst angegeben ist. Nehmen wir zum Beispiel an, ich brauche Apache auf Ubuntu, wenn das nicht bereits existiert, ich könnte eine neue Docker-Datei erstellen, die von einem vorhandenen Ubuntu-Image einzieht, dann schreibe ich die Konfiguration aus, um den Apache einzurichten. Ich kann dann dieses Bild an den Docker-Hub übergeben/schieben, um es in zukünftigen Projekten zu verwenden, oder um es für andere Benutzer mit der Community zu teilen. – DivXZero

Antwort

2

Nicht sicher, es gibt einen "besten Fall", aber ich werde versuchen, trotzdem zu antworten.

Commiting kann sehr nützlich sein, wenn ein Container schnell erstellt werden muss, da das Schreiben von Dockerfiles normalerweise zeitaufwändiger ist als das Erstellen eines Containers von "innerhalb". Mit Commits können Sie einen Container zwischen Computern teilen (normalerweise über eine registry).

Was Ihren Satz ...

denke ich, Datenbank-Container mit Daten zu verpflichten, aber diese Option nicht unterstützt wird.

Das ist nicht ganz richtig, Sie können tatsächlich die Daten einer Datenbank in einem Container festschreiben. Ich nehme an, Sie haben Ihre DB-Daten in einem Datenträger-Mount, aber:

Die COMMIT-Operation enthält keine Daten enthalten in Volumes im Container montiert.

- Docker docs

Anstatt also Ihre DB-Daten in einem Volumen montieren zu müssen, die die Daten auf dem Host speichert und den Behälter nicht, Sie könnte hat Ihre DB-Daten in einem Verzeichnis im Besitz von der Container anstelle des Hosts. Dann würden die Daten in das Commit einbezogen werden.

+0

Wenn ich eine Webanwendung habe, die Informationen in XML-Datei schreibt und diese Anwendung in einem Container ausgeführt wird. Wenn ich den Container festlege, wird die Änderung an der XML-Datei festgeschrieben? – daniele3004

+0

Ja, es sei denn, die XML-Datei befindet sich in einem Datenträger-Mount. –

+0

wenn ich ein Bild von einem Ordner mit PHP-Datei und XML für die Konfiguration erstellen? Meine Idee ist, die Einstellung, die Db-Verbindung direkt von einem Container zu ändern – daniele3004

Verwandte Themen