Als ich Docker zum ersten Mal verwendete, habe ich weder Dockerfile noch Docker-Compose verwendet, um den Dienst zu orchestrieren. Ich habe Docker Run direkt verwendet, um den Container zu starten. Wenn die Konfigurationsdatei falsch war oder versehentlich beendet wurde, konnte der Dienst daher nicht mehr gestartet werden. Machen Sie sich jetzt keine Sorgen. Sie können die folgende Methode verwenden, um die Konfigurationsdatei sowie die Portinformationen und andere Konfigurationsinformationen des Startcontainers zu ändern, sodass die Dateien und Daten im Container weiterhin vorhanden sind. 1. Ändern Sie die Konfigurationsinformationen im Container Hier nehmen wir den Start von Nginx als Beispiel. Beispielsweise verwenden wir Docker Run, um einen Nginx-Container zu erstellen. Als Ergebnis verwenden wir Docker Exec ** Bash, um die interne Nginx-Konfigurationsdatei zu ändern, wodurch der Nginx-Container nicht mehr gestartet wird. Was sollten wir in diesem Fall tun? #Geben Sie zuerst das folgende Verzeichnis ein cd /var/lib/docker/overlay2 #Suchen Sie die Konfigurationsdatei find ./ -name nginx.conf ./a45cd97113877fb480f66e0d982a594c7b18f2035c16e1f7eb687eef15552272/diff/etc/nginx/nginx.conf ./feff64c1f27a695e531c4654afa3b06e1ca84cc38d81cec76dc5ef52f6821c44/diff/etc/nginx/nginx.conf ./feff64c1f27a695e531c4654afa3b06e1ca84cc38d81cec76dc5ef52f6821c44/zusammengeführt/etc/nginx/nginx.conf #Wechseln Sie dann mit cd in das Verzeichnis, in dem sich nginx.conf befindet cd ./feff64c1f27a695e531c4654afa3b06e1ca84cc38d81cec76dc5ef52f6821c44/diff/etc/nginx #Meine Nginx-Konfigurationsdatei befindet sich beispielsweise im Ordner conf.d cd conf.d Datei default.conf #Überprüfen Sie, ob die darin enthaltenen Konfigurationsinformationen Ihre eigenen Nginx-Konfigurationsinformationen sind. Wenn dies der Fall ist, ändern Sie sie einfach. Wenn nicht, suchen Sie auf die gleiche Weise in anderen Verzeichnissen, die von find gefunden wurden. vim *.conf #Starten Sie die Konfigurationsdatei nach dem Ändern direkt. Beispielsweise lautet mein Nginx-Containername apg_nginx Docker startet apg_nginx 2. Ändern Sie die Konfigurationsinformationen beim Ausführen von Docker In diesem Fall wird beispielsweise mein Container gestoppt und andere Dienste möchten die von meinem Container zugeordnete Portnummer verwenden oder mein Container möchte zu diesem Zeitpunkt die Ausführungskonfigurationsinformationen ändern. Was soll ich tun? #Geben Sie das folgende Verzeichnis ein: cd /var/lib/docker/containers 096ed809576e948ada99be65faa181b7f926dd0e655c4c373169305a1954c115 d570bc34c3bb5955ec4c336ad3eeb6105ed49e33e87b8dfd35da3c907d074fdc 662d928aada58645e84fba34f1a1c54696061b767e3e262ccf6562db0498e733 e7237690488f15e40a6462df9cdcfeda83a6f7a74517662935c0a149dd36e057 92bb44f63186c3d80ab8557f84cb1ce907aedab714bb0109827dbfed5641daa8 f2849f199fd78b1636aaedf0bd890c12e7c6d8c6ad5849fff2670920e5e37c7d d27bdc6286dd3314a1116115cab3a33233b9f4fba45ae4c88a6756d5c04a9aa9 #Überprüfen Sie den Hashwert Ihres Containers. Der Ordner, der mit dem Hashwert beginnt, ist das Konfigurationsverzeichnis des Containers. docker ps -a CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 096ed809576e nginx „nginx -g ‚Daemon von …‘“ vor 3 Monaten 33 Minuten aktiv 0.0.0.0:8081->80/tcp apg_nginx #Geben Sie das Verzeichnis ein, das mit 096 beginnt cd 096ed809576e* drwx------ 4 root root 4096 22. Juni 21:41 ./ drwx------ 9 root root 4096 8. März 18:07 ../ -rw-r----- 1 root root 2559664 22. Juni 21:47 096ed809576e948ada99be65faa181b7f926dd0e655c4c373169305a1954c115-json.log drwx------ 2 root root 4096 8. März 18:07 Checkpoints/ -rw------ 1 root root 3408 22. Juni 21:41 config.v2.json -rw-r--r-- 1 root root 1519 Juni 22 21:41 hostconfig.json -rw-r--r-- 1 root root 13. Juni 22 21:41 Hostname -rw-r--r-- 1 root root 174 22. Juni 21:41 Gastgeber drwx------ 3 root root 4096 8. März 18:07 mounts/ -rw-r--r-- 1 root root 259 22. Juni 21:41 resolv.conf -rw-r--r-- 1 root root 71 Juni 22 21:41 resolv.conf.hash #hostconfig.json ist die Datei, die die Konfigurationsinformationen speichert, wenn run gestartet wird vim hostconfig.json #Der HostPort-Wert wird der Portnummer des Hostcomputers zugeordnet. Sie können ihn selbst ändern. Nachdem die Änderung abgeschlossen ist, müssen Sie den Docker-Dienst neu starten. Wenn Sie ihn nicht neu starten, wird er nicht wirksam. systemctl docker restart Durch die Konfigurationsänderungen in den beiden oben genannten Situationen können alle Probleme mit dem von Docker Run gestarteten Container hier geändert und normal gestartet werden. Im Allgemeinen ist es am besten, Docker-Compose zum Starten des Containers zu verwenden. Zusätzliches Wissen: So zeigen Sie Container-Startprotokolle in Docker an
Befehlsformat: $ Docker-Protokolle [OPTIONEN] CONTAINER Optionen: --details Weitere Informationen anzeigen -f, --follow Echtzeitprotokolle verfolgen --since string Protokolle nach einem bestimmten Zeitstempel oder einer relativen Zeit anzeigen, z. B. 40 m (also 40 Minuten) --tail string Wie viele Protokollzeilen werden ab dem Ende des Protokolls angezeigt? Der Standardwert ist „alle“ -t, --timestamps Zeitstempel anzeigen --until Zeichenfolge Protokolle vor einem bestimmten Zeitstempel oder einer relativen Zeit anzeigen, z. B. 40 m (also 40 Minuten) Sehen Sie sich die Protokolle der letzten 30 Minuten an:
Zeigen Sie die Protokolle nach einer bestimmten Zeit an:
Protokolle für einen bestimmten Zeitraum anzeigen:
Die obige Docker-Änderung der Konfigurationsinformationen des nicht gestarteten Containers ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen. Das könnte Sie auch interessieren:
|
<<: Beispielanweisungen für Indizes und Einschränkungen in MySQL
>>: Vue3 (III) Website Homepage Layout Entwicklung
Einschließlich der Verwendung von Kontrollkästchen...
Datenbank für Online-Einkaufszentren - Produktkat...
Inhaltsverzeichnis Datenbroker und Events Überprü...
Einführung in das Geo-Modul von Nginx Die Geo-Dir...
Wenn Sie das langsame Problem ein für alle Mal lö...
Nachdem ich MySQL über Ports installiert hatte, s...
In diesem Artikel wird der Implementierungscode d...
Obwohl Sie denken, dass es sich möglicherweise um...
„Seiten-Screenshot“ ist eine Anforderung, die häu...
Vorwort Die Anwendungs- und Lernumgebung von MySQ...
1. Manchmal verwenden wir ES Aufgrund begrenzter ...
1. Öffnen Sie die virtuelle Maschine und das Git-...
Bei jeder Anmeldung am Testserver ist grundsätzli...
Der Ereignisplaner in MySQL, EVENT, wird auch als...
Inhaltsverzeichnis 1. Einleitung 2. filter() 3. K...