Lösung für das Problem, dass Docker Nginx nach dem Ausführen nicht mehr aufgerufen werden kann

Lösung für das Problem, dass Docker Nginx nach dem Ausführen nicht mehr aufgerufen werden kann

## 1

Ich lerne gerade die Docker-Bereitstellung und hatte ursprünglich geplant, Nginx zu dockerisieren.

Informationen zur benutzerdefinierten Konfiguration finden Sie in der offiziellen Docker-Image-Beschreibung

Nachdem ich die offizielle nginx.conf kopiert hatte, änderte und fügte einige Anpassungen hinzu, hauptsächlich das Blockieren der default.conf und des Include-Ordners sites-available

# /etc/nginx/conf.d/.conf einschließen;
Fügen Sie /etc/nginx/sites-available/ ein.

Offizielle Originalkonfiguration

Benutzer nginx;
Arbeiterprozesse 1;

Fehlerprotokoll /var/log/nginx/error.log warnen;
pid /var/run/nginx.pid;


Ereignisse {
  Arbeiterverbindungen 1024;
}


http {
  /etc/nginx/mime.types einschließen;
  Standardtyp Anwendung/Oktett-Stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  Zugriffsprotokoll /var/log/nginx/access.log Haupt;

  sendfile an;
  #tcp_nopush ein;

  KeepAlive-Timeout 65;

  #gzip ein;

  schließen Sie /etc/nginx/conf.d/*.conf ein;
}

Erstellen Sie eine neue Datei docker-compose.yml und geben Sie einfach Bilder, Namen, Ports an und mounten Sie lokale Dateien anstelle der Standardwerte.

Version: '3'
Leistungen:
 nginx-Proxy:
  Bild: nginx
  Containername: nginx
  Häfen:
   -8081:80
  Bände:
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

## 2

Nach dem Ausführen von Docker-Compose Up bleibt es beim Anhängen an Nginx hängen und der Browser kann nicht auf die Portadresse zugreifen

Nginx wird gestartet ... fertig
Anhängen an nginx

Ich weiß nicht, wo das Problem liegt. Nachdem ich nach Informationen gesucht hatte, fand ich heraus, dass ich den tty-Parameter zum Debuggen verwenden kann.

Ändern Sie docker-compose.yml und fügen Sie eine Konfiguration tty:true hinzu.

docker exec -it nginx /bin/bash

Ich habe festgestellt, dass der vorherige Ordner „Sites-Available“ leer war, nachdem ich die Standarddatei „default.conf“ gelöscht und keine weiteren Konfigurationsdateien hinzugefügt hatte.

## 3

Ich habe mich ausgegraben, füge hinzu

-./nginx/sites-available:/etc/nginx/sites-available:ro

Und fügen Sie eine Konfigurationsdatei in „Sites verfügbar“ hinzu.

/etc/nginx/sites-available# ls
Datei default.conf

Nach dem Ausführen ist der Zugriff auf die Portadresse endlich normal

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detailliertes grafisches Tutorial zum Aktivieren des sicheren Remotezugriffs mit Docker
  • Lösung für das Problem, dass beim Hinzufügen eines Tomcat-Containers zu Docker kein Zugriff auf die Homepage möglich ist
  • So greifen Sie über eine unabhängige IP direkt auf das Docker-für-Windows-Container-Intranet zu
  • Eine Fehlerbehebungserfahrung im CentOS-Docker-Bridge-Modus, bei dem auf den Host-Redis-Dienst nicht zugegriffen werden kann
  • Detaillierte Erklärung zur Verwendung von Docker zum Erstellen von extern zugänglichem MySQL
  • Detaillierte Erläuterung zur Lösung des Problems, dass der Docker-Container nicht über IP auf den Hostcomputer zugreifen kann
  • So greifen Sie in Docker auf den lokalen Computer (Hostcomputer) zu
  • So verwenden Sie einen Docker-Container für den Zugriff auf das Host-Netzwerk
  • Methode zum Zugriff auf unabhängige IP im Docker-Container
  • Drei Möglichkeiten zur Kommunikation zwischen Docker-Containern

<<:  So erstellen Sie einen untergeordneten Prozess in nodejs

>>:  Linux-Plattform MySQL ermöglicht Remote-Login

Artikel empfehlen

Sechs Möglichkeiten zur Steigerung der Geschwindigkeit Ihrer Website

1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...

MySQL 5.7.17 Winx64 Installations- und Konfigurations-Tutorial

Heute habe ich die MySQL-Datenbank erneut auf mei...

Anfänger lernen einige HTML-Tags (3)

Verwandte Artikel: Anfänger lernen einige HTML-Ta...

Detaillierte Erklärung der Meta-Tags (die Rolle der Meta-Tags)

Egal wie großartig Ihre persönliche Website ist, ...

js+Html zur Realisierung einer Tabellenbearbeitungsoperation

In diesem Artikel wird der spezifische Code von j...

Einführung in Abfragebefehle für gespeicherte MySQL-Prozeduren

Wie unten dargestellt: Wählen Sie den Namen aus m...

Die Kombination und der Unterschied zwischen ENTRYPOINT und CMD im Dockerfile

Im vorherigen Artikel [Detaillierte Erläuterung v...

Einführung in die Verwendung von this in HTML-Tags

Zum Beispiel: Code kopieren Der Code lautet wie fo...

Zusammenfassung der 7 Protokolltypen in MySQL

In MySQL gibt es folgende Protokolldateien: 1: Pr...