Docker-Installation von Nginx Probleme und Fehleranalyse

Docker-Installation von Nginx Probleme und Fehleranalyse

Frage:


Beim Installieren Nginx in Docker ist der folgende Fehler aufgetreten:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused “process_linux.go:424: container init caused “rootfs_linux.go:58: mounting \”/docker/nginx/conf\” to rootfs \"/var/lib/docker/overlay2/126c244dc6ee7095b1501a503eb361bade4fc255601ec0b0fe96238b58178958/merged\" at \"/var/lib/docker/overlay2/126c244dc6ee7095b1501a503eb361bade4fc255601ec0b0fe96238b58178958/merged/etc/nginx/nginx.conf\" caused \“not a directory\”"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

Ich installierte das Image und ging direkt zu

docker run \ -p 80:80 \ --name nginx \ -d --restart=always \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /mydata/nginx/logs:/var/log/nginx \ nginx

Dann ging etwas schief.

Fehleranalyse:


Der Teil des Fehlers, den ich verstehe, lautet: Beim Versuch, ein Verzeichnis in einen Ordner einzubinden, /nginx/nginx.conf\" caused \“not a directory\”" , da da da... so ähnlich. Hier habe ich mir den Dateipfad auf dem Host angesehen und festgestellt, dass die lokal erstellte nginx.conf ein Ordner nginx.conf/ war und nicht die Datei nginx.conf die ich wollte.

Richtige Vorgehensweise:


Erstellen einer Datei

mkdir -p /meinedaten/nginx/conf
berühren Sie /mydata/nginx/conf/nginx.conf

vim /meinedaten/nginx/conf/nginx.conf

Schreiben Sie den offiziellen Anfangsinhalt in nginx.conf

#Benutzer niemand;
Arbeiterprozesse 1;

#error_log Protokolle/Fehler.log;
#error_log Protokolle/error.log Hinweis;
#error_log Protokolle/error.log-Info;

#pid-Protokolle/nginx.pid;

Ereignisse {
    Arbeiterverbindungen 1024;
}

http {
    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"';

    #access_log Protokolle/access.log Haupt;

    sendfile an;
    #tcp_nopush ein;

    #keepalive_timeout 0;
    KeepAlive-Timeout 65;

    #gzip ein;

    Server {
        hören Sie 80;
        Servername localhost;

        #Zeichensatz koi8-r;

        #access_log Protokolle/Host.access.log Haupt;

        Standort / {
            root /usr/share/nginx/html;
            Index Index.html Index.htm;
        }

        #Fehlerseite 404 /404.html;

        # Server-Fehlerseiten auf die statische Seite /50x.html umleiten
        #
        Fehlerseite 500 502 503 504 /50x.html;
        Standort = /50x.html {
            Stamm-HTML;
        }
    }
}

Dann lauf

Docker-Ausführung \
	-p 80:80 \
	--name nginx \
 	-d --restart=immer \
 	-v /meineDaten/nginx/html:/usr/share/nginx/html \
 	-v /meineDaten/nginx/conf.d:/etc/nginx/conf.d \
 	-v /meineDaten/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
 	-v /meineDaten/nginx/logs:/var/log/nginx \
 	nginx 

prüfen:

Platzieren Sie eine index.html im lokalen /mydata/nginx/html/ .

Neustart: Docker startet Nginx neu

Besuchen Sie http://localhost/

Bild-20211216132625114

Referenzblog:

​ https://www.cnblogs.com/ivictor/p/4834864.html (Zusammenfassung der Verzeichnismontage)

https://blog.csdn.net/qierkang/article/details/92657302

​ https://my.oschina.net/u/3375733/blog/1591091 (Wenn Sie /conf.d/*.conf hinzufügen müssen, können Sie diesen Blog lesen)

​ https://blog.csdn.net/weixin_44757670/article/details/104993869 (Wenn Sie /conf.d/*.conf hinzufügen müssen, können Sie diesen Blog lesen)

Dies ist das Ende dieses Artikels zur Installation von Nginx mit Docker (einschließlich Fehleranalyse). Weitere Informationen zur Installation von Nginx mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Docker-Installation von PHP und Bereitstellungsbeispiel mit Nginx
  • Docker-Installation Nginx Tutorial Implementierung Abbildung
  • So installieren Sie Nginx in Docker
  • So installieren und konfigurieren Sie Docker nginx

<<:  Vorteile von INSERT INTO SET in MySQL

>>:  Unverzichtbares Wissen für Vorstellungsgespräche und schriftliche Tests im Bereich Webentwicklung (Pflichtlektüre)

Artikel empfehlen

So verwenden und begrenzen Sie Requisiten in React

Die Requisiten der Komponente (Requisiten sind ei...

So berechnen Sie mit Linux den von zeitgesteuerten Dateien belegten Speicherplatz

Öffnen Sie den Editor für geplante Aufgaben. Cent...

Umfassende Analyse der Isolationsebenen in MySQL

Wenn die Datenbank gleichzeitig denselben Datenst...

Tomcat-Quellcodeanalyse und -Verarbeitung

Inhaltsverzeichnis Vorwort 1. Endpunkt 2. Verbind...

MySQLs Methode zum Umgang mit doppelten Daten (Verhindern und Löschen)

Einige MySQL-Tabellen können doppelte Datensätze ...

CSS - overflow:hidden in Projektbeispielen

Hier sind einige Beispiele, wie ich diese Eigensch...

Eine detaillierte Analyse und Verarbeitung von MySQL-Alarmen

Vor kurzem hat ein Dienst einen Alarm ausgelöst, ...

Details zur Funktionsverschachtelung und zu Funktionsabschlüssen in js

Inhaltsverzeichnis 1. Geltungsbereich 2. Funktion...

Dateiupload über HTML5 auf Mobilgeräten

Meistens werden Plug-Ins zum Hochladen von Dateie...

Detaillierte Erklärung des Javascript Echarts Luftqualitätskarteneffekts

Wir müssen zunächst die Luftqualitätsdaten mit de...