Detaillierte Erläuterung der Verarbeitung der drei Docker Nginx-Protokolle

Detaillierte Erläuterung der Verarbeitung der drei Docker Nginx-Protokolle

Da die Kollegen im Unternehmen die Standardausgabe des Nginx-Protokolls benötigen, also die Verarbeitung über die Konsole, müssen wir das Protokoll zuerst in die Datei schreiben:

Fehlerprotokoll /var/log/nginx/error.log

Zugriffsprotokoll /var/log/nginx/access.log

Es gibt zwei Möglichkeiten, damit umzugehen:

1. Erstellen Sie einen Hostpfad und mounten Sie ihn dann in den Nginx-Logpfad im Container:

docker run --name docker_nginx -d -p 80:80\ 
 -v /var/log/nginx/log:/var/log/nginx\
--!-v: Mounten Sie das Protokollverzeichnis

2. Die zweite Möglichkeit besteht darin, in der Protokolldatei zu landen und dann direkt zur Standardausgabe zu gelangen:

LAUFEN \

  ln -sf /dev/stdout /var/log/nginx/access.log && \    
  ln -sf /dev/stderr /var/log/nginx/error.log 

Ich habe gehört, der Zweite ist besser! ! !

Dies löst das Protokollproblem!

Ergänzendes Wissen: Benutzerdefiniertes Docker-Nginx-Image ohne Container-Protokollausgabe

Zufällig muss ich ein Nginx-Image für meine Arbeitsumgebung anpassen. Nachdem ich es generiert hatte, stellte ich fest, dass der Container keine relevanten Nginx-Protokollausgaben hatte

VON env_centos:latest
 
KOPIEREN Sie nginx.repo /etc/yum.repos.d/ 
# Beachten Sie, dass die Protokollausgabe auf stdout umgeleitet werden muss, da sonst die Container-Protokollausgabe nicht angezeigt werden kann RUN \
  yum -y installiere nginx httpd-tools && \
  mkdir -p /data/nginx_conf/upstream && \
  mkdir -p /data/nginx_conf/vhosts && \
  rm -f /etc/nginx/conf.d/default.conf && \
  ln -sf /dev/stdout /var/log/nginx/access.log && \ > Diese beiden Zeilen sind der Schlüssel. Natürlich sollte dies mit Ihrer nginx-Konfigurationsdatei übereinstimmen. Kopieren Sie sie nicht. ln -sf /dev/stderr /var/log/nginx/error.log > Diese beiden Zeilen sind der Schlüssel. KOPIEREN nginx.conf /etc/nginx/nginx.conf
 
AUSSETZEN 80
#ENTDECKEN 443
 
CMD ["nginx", "-g", "Daemon aus;"]

Der endgültige Effekt ist wie folgt

#docker exec test123 ls -l /var/log/nginx/
lrwxrwxrwx 1 root root 11 Dez 29 10:51 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Dez 29 10:51 error.log -> /dev/stderr

Die oben aufgeführte ausführliche Erklärung zur Verarbeitung der drei Docker Nginx-Protokolle ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, dass er Ihnen als Referenz dienen kann. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • Docker Nginx-Container und Tomcat-Container zur Realisierung von Lastausgleich und dynamischen und statischen Trennungsvorgängen
  • Docker stellt nginx bereit und mountet Ordner und Dateioperationen
  • Docker nginx implementiert einen Host zum Bereitstellen mehrerer Sites
  • Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung
  • So stellen Sie ein Vue-Projekt mit Docker-Image + nginx bereit
  • Methoden und Schritte zum Erstellen eines Docker-basierten Nginx-Dateiservers
  • So erstellen Sie einen Nginx-Image-Server mit Docker
  • Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern

<<:  MySQL Master-Slave-Synchronisation, Implementierungsprinzip des Transaktions-Rollbacks

>>:  Implementierung des Zugriffs auf den gleitenden Überprüfungscode von Vue + DRF + Drittanbietern

Artikel empfehlen

So weisen Sie Feldern bei der MySQL-Abfrage Standardwerte zu

brauchen Wenn Sie ein Feld abfragen, müssen Sie e...

So erstellen Sie manuell ein neues Image mit Docker

In diesem Artikel wird die Methode zum manuellen ...

Detaillierte Erläuterung der MySQL sql_mode-Abfrage und -Einstellung

1. Führen Sie SQL aus, um anzuzeigen wählen Sie @...

Automatisierte Schnittstellentests mit Postman

Inhaltsverzeichnis Hintergrundbeschreibung Erstel...

Zusammenfassung der Linux Logical Volume Management (LVM)-Nutzung

Die Verwaltung des Speicherplatzes ist für System...

Beispiel für den Import von Nginx-Protokollen in Elasticsearch

Die Nginx-Protokolle werden von Filebeat gesammel...

Windows-Plattformkonfiguration Version 5.7 + MySQL-Datenbankdienst

Beinhaltet den Prozess der Initialisierung des Ro...

Verwendung des Linux-Telnet-Befehls

1. Einleitung Der Befehl Telnet dient zur Anmeldu...

Lösung für die Upload-Einschränkung von Element-ui-Uploaddateien

Frage Die Angabe des Typs der hochgeladenen Datei...