Manchmal nehmen Benutzer Änderungen an Container- und Konfigurationseinstellungen vor, diese Änderungen werden jedoch nicht im Docker-Image übernommen. Um die Containeränderungen am Image zu speichern oder das Container-Backup zu erstellen, müssen Benutzer ein neues Image aus dem Container erstellen. Zu diesem Zweck ist die „ Docker-Commit ”-Befehl kann verwendet werden.
Dieser Leitfaden zeigt:
- Was ist der Befehl „docker commit“?
- Wie erstelle ich ein Image aus einem Docker-Container?
- Wie lege ich den Autor eines Bildes fest?
- Wie lege ich die Commit-Nachricht des Bildes fest?
- Abschluss
Was ist der Befehl „docker commit“?
Der ' Docker-Commit „Befehl ist eines der Befehlszeilen-Dienstprogramme von Docker, das verwendet wird, um die Containeränderungen und -einstellungen in das Docker-Image zu übertragen. Es wird auch zum Erstellen des Container-Backups verwendet, wenn Benutzer den Docker entrümpeln müssen, indem sie die Docker-Container entfernen. Der Docker-Commit-Befehl bezieht jedoch nur die Containerdatei und Konfigurationsänderungen in das Docker-Image ein, er speichert niemals die Daten des Volumes, das mit dem Container gemountet ist.
Syntax
Docker-Commit < OPTIONEN > < Containername / Container-ID > < Bildname >
Optionen
Die folgenden Optionen werden mit dem „ Docker-Commit ”-Befehl zum Erstellen eines Bildes aus einem Container auf verschiedene Arten:
< stark > Möglichkeit stark > td >< td >< stark > Beschreibung stark > td >
tr >
< tr >
< td >< stark > -A, --Autor stark > td >
< td > Es wird verwendet, um den Namen des Autors anzugeben, der die Änderungen des Containers festschreibt In das Bild. td >
tr >
< tr >
< td >< stark > -C, --ändern stark > td >
< td > Fügen Sie die Dockerfile-Anweisungen hinzu, um die Änderungen zu übernehmen In ein Bild. td >
tr >
< tr >
< td >< stark > -m, --message stark > td >
< td > Fügen Sie die Commit-Nachricht oder den Kommentar hinzu während Generieren eines Bildes aus dem Container. td >
tr >
< tr >
< td >< stark > -p, --pause stark > td >
< td > Beim Festschreiben des Containers wird der Container standardmäßig gestoppt oder angehalten. Um zu verhindern, dass der Container pausiert, wird „ < stark > --pause= FALSCH stark > ”-Option wird verwendet.
Wie erstelle ich ein Image aus einem Docker-Container?
Wenn der Benutzer Änderungen am Docker-Container direkt über die Container-Shell oder nicht interaktiv vornimmt, ändern diese Änderungen nicht den Container-Snapshot. Um Änderungen zu speichern oder zu übernehmen, kann der Benutzer mit dem Befehl „ Docker-Commit ' Befehl. Dies ist auch hilfreich für die Erstellung des Backups des Containers.
Um ein Image über den Docker-Container zu erstellen, gehen Sie die folgende Abbildung durch.
Schritt 1: Dockerfile erstellen
Erstellen Sie zunächst eine neue Datei mit dem Namen „ Docker-Datei ” und fügen Sie dem Dateinamen keine Dateierweiterung hinzu. Fügen Sie anschließend die folgenden Befehle in die „Dockerfile“ ein.
VON nginx:latestKOPIEREN Sie index.html / usr / Aktie / Nginx / html / index.html
EINSTIEGSPUNKT [ „nginx“ , '-G' , „Daemon aus;“ ]
Hier das ' AUS Der Befehl „ wird verwendet, um das Container-Basisbild zu definieren. KOPIEREN Der Befehl „kopiert die Programmdatei in den vom Container angegebenen Pfad und der Befehl „ EINSTIEGSPUNKT Der Befehl legt die standardmäßigen ausführbaren Dateien des Containers fest.
Schritt 2: Programmdatei erstellen
Als nächstes erstellen Sie eine weitere Datei „ index.html ” und fügen Sie der Datei den folgenden HTML-Code hinzu:
< html >< Kopf >
< Stil >
Körper {
Hintergrundfarbe:rgb ( 9 , 4 , 4 ) ;
}
h1 {
Farbe: RGB ( 221 , 219 , 226 ) ;
Schriftstil: kursiv;
}
Stil >
Kopf >
< Körper >
< h1 > Dies ist die erste HTML-Seite h1 >
Körper >
html >
Schritt 3: Erstellen Sie den Snapshot des Containers
Generieren Sie nun mit dem folgenden Befehl den Snapshot des Containers aus der Docker-Datei. Hier das ' -T Die Option „wird verwendet, um den Namen des Snapshots festzulegen:
Docker-Build -T Demo-Bild .
Schritt 4: Führen Sie Snapshot aus, um den Container zu starten
Als nächstes starten Sie den Container, indem Sie das Container-Image ausführen. Nutzen Sie dazu die „ Docker führt
Im obigen Befehl ist das „ -P „Option legt den Offenlegungsport des Containers fest, „ -Name ” gibt den Containernamen und das „ an -D Die Option „Führt den Container im getrennten Modus aus:
Navigieren Sie nach der Ausführung des Containers zu „ http://localhost:80 ” URL und prüfen Sie, ob das Containerprogramm über den exponierten Port zugänglich ist oder nicht:
Die obige Ausgabe zeigt, dass wir den Container erfolgreich gestartet haben.
Schritt 5: Erstellen Sie eine neue Programmdatei
Manchmal müssen Benutzer der laufenden Anwendung zusätzliche Funktionen hinzufügen. Zu diesem Zweck muss der Benutzer möglicherweise Änderungen in der Programmdatei vornehmen oder der Anwendung zusätzliche Dateien hinzufügen.
Zu diesem Zweck erstellen wir eine weitere Datei mit dem Namen „ index1.html ” und fügen Sie den folgenden Code in die Datei ein:
< html >< Kopf >
< Stil >
Körper {
Hintergrundfarbe:rgb ( 106 , 103 , 103 ) ;
}
h1 {
Farbe: RGB ( 221 , 219 , 226 ) ;
Schriftstil: kursiv;
}
Stil >
Kopf >
< Körper >
< h1 > Dies ist die zweite HTML-Seite h1 >
Körper >
html >
Schritt 6: Neue Programmdatei in den Container kopieren
Um die neue Datei in den Containerpfad zu kopieren, verwenden Sie den Befehl „ docker cp
Schritt 7: Übernehmen Sie die Containeränderungen in ein neues Image
Nachdem Benutzer Änderungen an einem Container vorgenommen haben, müssen sie die Änderungen in ein neues Docker-Image übertragen. Dieses Image wird über einen Docker-Container generiert. Führen Sie dazu den Befehl „ Docker Commit
Notiz: Änderungen am Docker-Container vornehmen, bevor das Bild generiert wird durch „ Docker-Commit „Befehl ist nicht obligatorisch. Benutzer können den „Docker-Commit“ direkt verwenden, um das Backup des Containers zu generieren, indem sie das Image erstellen.
Schritt 8: Bestätigung
Um zu überprüfen, ob das Image über den Container erstellt wurde oder nicht, listen Sie Docker-Images auf, indem Sie „ Docker-Bilder ' Befehl:
Docker-BilderDie folgende Ausgabe zeigt, dass wir das „ neues-demo-img ' aus ' Demo-Forts ”Behälter:
Notiz: Um das Docker-Image in die Docker-Hub-Registrierung zu übertragen, kann der Benutzer das Image auch mit dem Tag „ Docker-Tag ' Befehl:
Docker-Tag < Bildname > < Repository-Name >>< Bildname > : < Etikett / Ausführung >Schritt 9: Alten Behälter entfernen
Entfernen Sie nun den älteren Behälter. Stoppen Sie dazu zunächst den Docker-Container mit dem Befehl „ Docker Stop
Verwenden Sie nach dem Anhalten des Behälters die „ docker rm
Schritt 10: Neuen Container aus neuem Committed-Image ausführen
Starten Sie nun die neue Instanz oder den Docker-Container mit dem neu generierten Image über „ Docker-Lauf ' Befehl:
Docker-Lauf -P 80 : 80 --Name Demo-Forts -D neues-demo-img
Navigieren Sie nun zu „ localhost:80 ” portieren und prüfen, ob die HTML-Anwendung effektiv läuft oder nicht:
Um die neu kopierte Datei zu überprüfen, die „ index1.html “, nutzen Sie die „ http://localhost/index1.html ” URL:
Die obige Ausgabe zeigt, dass die festgeschriebenen Änderungen erfolgreich im „ neues-demo-img „Docker-Image und wir haben den geänderten Container effektiv ausgeführt.
Wie lege ich den Autor eines Bildes fest?
Der ' Docker-Commit Der Befehl unterstützt auch verschiedene Optionen zum Hinzufügen zusätzlicher Informationen zusammen mit festgeschriebenen Änderungen, wie z. B. dem Autor der neuen Änderungen, einer Festschreibungsnachricht usw.
Um den Autor des Bildes anzugeben, das die neuen Änderungen festschreibt, führen Sie die angegebenen Schritte aus.
Schritt 1: Legen Sie den Autor des Bildes fest
Um den Autor des Bildes anzugeben, der die Änderungen vornimmt, verwenden Sie das „ -A ' oder ' -Autor ”-Option zusammen mit „ Docker-Commit ' Befehl:
Docker-Commit -A Rafia Demo-Fortsetzung Neues Demo-Bild
Schritt 2: Überprüfen Sie das Bild
Um zu überprüfen, ob der Autor des Bildes festgelegt ist oder nicht, überprüfen Sie das neu generierte Bild mit dem Befehl „ Docker inspect
Die Ausgabe zeigt, dass wir den Autor des Bildes effektiv festgelegt haben:
Wie lege ich eine Commit-Nachricht für ein Bild fest?
Um die Commit-Nachricht zusammen mit Commit-Änderungen festzulegen, verwenden Sie die Option „ -M ' Möglichkeit. Befolgen Sie zur Veranschaulichung die folgenden Anweisungen.
Schritt 1: Festlegen der Commit-Nachricht des Bildes
Um die Nachricht zusammen mit übernommenen Änderungen festzulegen, verwenden Sie die Option „ docker commit -m <„message“>
Schritt 2: Überprüfen Sie das Bild
Um die Commit-Nachricht zu überprüfen, überprüfen Sie das Bild mithilfe des „ Docker inspect
Unter dem ' Kommentar ”-Taste kann der Benutzer die Commit-Nachricht wie unten gezeigt sehen:
Dabei geht es darum, ein Docker-Image aus einem Container zu generieren.
Abschluss
Um ein Docker-Image aus einem Container zu generieren, nehmen Sie zunächst die Änderungen im Docker-Container vor. Nutzen Sie danach die Funktion „ Docker Commit