So führen Sie nginx in Docker aus und mounten das lokale Verzeichnis in das Image

So führen Sie nginx in Docker aus und mounten das lokale Verzeichnis in das Image

1 Ziehen Sie das Bild von hup

Docker-Pull Nginx

2 Erstellen Sie das zu mountende Verzeichnis

mkdir -p /data/nginx/{conf,conf.d,html,logs}

3 Sie müssen eine Konfigurationsdatei haben, bevor Sie den Container starten können

3.1 vim /data/conf/nginx.conf

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;
}

3.2 vim /data/nginx/conf.d/default.conf

Server { 
  hören Sie 80; 
  Servername localhost; 
 
  #Zeichensatz koi8-r; 
  #access_log /var/log/nginx/log/host.access.log Haupt; 
 
  Standort / { 
    Stamm /data/nginx/html; 
    # root /usr/nginx/html; 
    Index Index.html Index.htm; 
    Autoindex aktiviert; 
  try_files $uri /index/index/page.html; 
    #try_files $uri /index/map/page.html; 
  } 
 
  #Fehlerseite 404 /404.html; 
 
  # Server-Fehlerseiten auf die statische Seite /50x.html umleiten 
  # 
  Fehlerseite 500 502 503 504 /50x.html; 
  Standort = /50x.html { 
    root /usr/share/nginx/html; 
  } 
 
  # Proxy für die PHP-Skripte an Apache, das auf 127.0.0.1:80 lauscht 
  # 
  #Standort ~ \.php$ { 
  # Proxy-Passwort http://127.0.0.1; 
  #} 
 
  # Übergeben Sie die PHP-Skripte an den FastCGI-Server, der auf 127.0.0.1:9000 lauscht. 
  # 
  #Standort ~ \.php$ { 
  #Wurzel-HTML; 
  # fastcgi_pass 127.0.0.1:9000; 
  # fastcgi_index index.php; 
  # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
  #fastcgi_params einschließen; 
  #} 
 
  # Zugriff auf .htaccess-Dateien verweigern, wenn das Apache-Dokumentenstammverzeichnis 
  # stimmt mit nginx überein 
  # 
  #Standort ~ /\.ht { 
  # alles ablehnen; 
  #} 
}

4 Starten Sie den Container

#Ordnen Sie Port 80 von nginx im Container lokal Port 81 zu. docker run --name nginx81 -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -v /data/nginx/conf.d:/etc/nginx/conf.d -d nginx:latest

5 Den gestarteten Container anzeigen

[root@dc01 ~]# Docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
fa56f865bd26 nginx:latest "nginx -g 'daemon of..." vor 4 Wochen 3 Sekunden aktiv 0.0.0.0:80->80/tcp vigilant_swirles
[root@dc01 ~]#

6 Webseitenzugriff nginx

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:
  • So konfigurieren Sie https für Nginx in Docker
  • So installieren Sie Nginx in Docker und konfigurieren den Zugriff über https
  • So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei
  • nginx generiert automatisch Konfigurationsdateien im Docker-Container
  • So konfigurieren Sie nginx+php+mysql in Docker
  • So installieren und konfigurieren Sie Docker nginx
  • Detailliertes Tutorial zur Konfiguration von Docker nginx + https-Subdomains

<<:  Beispielcode zur Implementierung von Zeitleisten- und Animationseffekten mit JavaScript (Front-End-Komponentenbildung)

>>:  Installationsmethode der dekomprimierten Version von MySQL 5.7.18 unter Win7x64

Artikel empfehlen

Beispieldemonstration der Vuex-Modularisierung und Namespaces

1. Zweck: Machen Sie den Code leichter wartbar un...

CSS-Implementierungscode zum Zeichnen von Dreiecken (Rahmenmethode)

1. Implementieren Sie ein einfaches Dreieck Mithi...

Tutorial zur Optimierung der Installationskonfiguration von MySQL 8.0.18

Die Installation, Konfiguration und Optimierung v...

Linux wird geladen, vmlinux wird debuggt

Laden von Kernelsymbolen mit gdb arm-eabi-gdb out...

Detaillierte Erläuterung der CSS BEM-Schreibstandards

BEM ist ein komponentenbasierter Ansatz zur Weben...

MySQL-Lerndatenbank-Suchanweisung DQL Xiaobai Kapitel

Inhaltsverzeichnis 1. Einfacher Datenabruf 2. Dat...

HTML-Tags dl, dt, dd zum Erstellen einer Tabelle vs. Tabellenerstellungstabelle

Dadurch werden nicht nur die Kosten für die Entwic...

Vue + echart realisiert Doppelsäulendiagramm

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

Beispielcode zur Implementierung einer Auto-Increment-Sequenz in MySQL

1. Erstellen Sie eine Sequenztabelle CREATE TABLE...

JSON (JavaScript Object Notation) in einem Artikel verstehen

Inhaltsverzeichnis JSON wird angezeigt JSON-Struk...

Vue-Element el-transfer fügt Drag-Funktion hinzu

Das Core Asset Management Project erfordert, dass...

Vue implementiert den Anruf der PC-Kamera, um Fotos in Echtzeit aufzunehmen

Vue ruft die PC-Kamera auf, um Bilder in Echtzeit...