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

Netzwerkkonfiguration des Host Only+NAT-Modus unter VirtualBox

Die Netzwerkkonfiguration des Host Only+NAT-Modus...

Erfahren Sie, wie Sie saubere und standardmäßige HTML-Tags schreiben

Guter HTML-Code ist die Grundlage einer schönen W...

So bereinigen Sie Daten in einer MySQL-Onlinedatenbank

Inhaltsverzeichnis 01 Szenarioanalyse 02 Funktion...

Über die Position des H1-Tags in XHTML

In letzter Zeit wurde viel über H1 diskutiert (auf...

So installieren Sie Mysql5.7 in Centos6

Umfeld Centos 6.6 MySQL 5.7 Installieren Falls da...

HTML ist eigentlich die Anwendung zum Erlernen mehrerer wichtiger Tags

Nachdem der Artikel „Dies wird eine Revolution“ er...

Delegieren von Berechtigungen in Linux mit Sudo

Einführung in die Sudo-Autoritätsdelegierung su-S...

Detaillierte Einführung in den Nobody-Benutzer und Nologin im Unix/Linux-System

Was ist der Nobody-Benutzer in Unix/Linux-Systeme...