So erstellen Sie schnell eine LNMP-Umgebung mit Docker (neueste Version)

So erstellen Sie schnell eine LNMP-Umgebung mit Docker (neueste Version)

Vorwort

Tipp: Hier können Sie den ungefähren Inhalt angeben, der in diesem Artikel festgehalten werden soll:
Beispiel: Mit der kontinuierlichen Entwicklung der künstlichen Intelligenz ist die Technologie des maschinellen Lernens immer wichtiger geworden. Viele Menschen haben begonnen, maschinelles Lernen zu lernen. Dieser Artikel stellt die grundlegenden Inhalte des maschinellen Lernens vor.

Tipp: Das Folgende ist der Hauptinhalt dieses Artikels. Die folgenden Fälle können als Referenz verwendet werden

1. MySQL?

1. Ziehen Sie das MySQL-Image

Docker-Pull MySQL:5.6 

Bildbeschreibung hier einfügen

2. Ausführen, um den MySQL-Container zu starten

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6 

Bildbeschreibung hier einfügen

Parameterbeschreibung:
-d lässt den Container im Hintergrund laufen
-p Portzuordnung vom Host zum Container hinzufügen
-e setzt die MySQL-Umgebungsvariable und das anfängliche Root-Passwort. –name gibt dem Container einen Namen. Der letzte Parameter ist der Image-Name, also der Name des abzurufenden Images.

2. Installieren Sie php-fpm

1. Ziehen Sie das php-fpm-Image

docker pull php:7.0-fpm

Sie können auch docker pull php:7.4.20-fpm docker pull php:7.3.28-fpm ziehen. Diese Versionen sind im Lager, ziehen Sie sie gerne

Bildbeschreibung hier einfügen

2. Ausführen, um den php-fpm-Container zu starten

docker run -d -v D:/docker/nginx:/var/www/html -p 9000:9000 --link xy_mysql:mysql --name xy_phpfpm php:7.0-fpm

Parameterbeschreibung:
-d lässt den Container im Hintergrund laufen
-p Portzuordnung vom Host zum Container hinzufügen
-v fügt eine Verzeichniszuordnung hinzu, D:/docker/nginx auf dem Host wird /var/www/html zugeordnet, d. h. der Inhalt des Verzeichnisses wird synchronisiert. Sie können das Verzeichnis, in das Sie Code schreiben möchten, direkt unter dem Host „D:/docker/nginx“ kopieren. Wenn $PWD gültig ist, bezieht es sich auf das aktuelle Verzeichnis. Ich habe diesen Parameter verwendet, um einen Fehler zu melden, also habe ich den Pfad direkt kopiert und eingefügt.
–name gibt dem Container einen Namen –link stellt eine Verbindung zu einem anderen Container her, damit der Dienst eines anderen Containers im aktuellen Container genutzt werden kann. Der letzte Parameter ist der Imagename, also der Name des abzurufenden Images.

3. Geben Sie den php-fpm-Container ein

docker exec -it xy_phpfpm bash

Parameter Beschreibung
-t erstellt ein Pseudoterminal im Container
-i Mit der Standardeingabe des Containers interagieren (STDIN)

Nachdem Sie eine Datei index.php in /var/www/html/ erstellt haben, werden Sie feststellen, dass sie auch lokal vorhanden ist. Dies bedeutet, dass sie synchronisiert ist, da beim Starten des Containers die entsprechenden Verzeichnisse des Hosts und des Containers zugeordnet wurden.

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

4. Installieren Sie das Modul pdo_mysql

Da wir das PDO-Modul später zum Testen verwenden werden, installieren wir das Modul pdo_mysql.

docker-php-ext-install pdo_mysql

php -m gibt aus, ob die Installation erfolgreich war;

Bildbeschreibung hier einfügen

Nach der Installation wird die Erweiterung möglicherweise nach dem Drucken in phpinfo() nicht angezeigt. Im nachfolgenden Test werden geänderte Schritte durchgeführt.

3. Installieren Sie nginx

1. Ziehen Sie das Nginx-Image

Docker-Pull nginx:1.10.3

2. Führen Sie den Nginx-Container aus

docker run -d -p 80:80 -v D:/docker/nginx:/var/www/html --link xy_phpfpm:phpfpm --name xy_nginx nginx:1.10.3

3. Rufen Sie den Nginx-Container auf und ändern Sie die Nginx-Konfigurationsdatei, um PHP zu unterstützen

docker exec -it xy_nginx bash 

Bildbeschreibung hier einfügen

Es wird empfohlen, es in /etc/nginx/conf.d/default.conf zu ändern;
fastcgi_pass schreibt php:7.0-fpm:9000. Der von Ihnen geschriebene Alias ​​könnte ungültig werden.
root wird als das vom vorherigen PHP-Container festgelegte Codeverzeichnis geschrieben;

4. Testen Sie, ob die Installation erfolgreich ist

Ändern Sie den index.php-Code

<?php

phpinfo(); 

Bildbeschreibung hier einfügen

Nachdem Sie den zuvor installierten Befehl verwendet haben, verfügt phpinfo() nicht über MySQL, daher müssen Sie in php.ini gehen, um es zu ändern.

5. Ändern Sie die Konfiguration

docker exec -it xy_phpfpm bash 

Bildbeschreibung hier einfügen

In diesem Container befindet sich php.ini in /usr/local/etc/php php.ini-development php.ini-production
Diese beiden Dateien sind die php.ini-Dateien. Sie sind genau gleich. Sie können anhand der Namen erkennen, was sie bedeuten. Öffnen Sie einfach die Erweiterung extension=php_pdo_mysql.dll.

6. Link zum MySQL-Test

Ändern Sie den index.php-Code

versuchen {
    $con = neues PDO('mysql:host=xy_mysql;dbname=mysql', 'root', 'xy123456');
    $con->query('NAMEN FESTLEGEN UTF8');
    $res = $con->query('wählen Sie * vom Benutzer aus');
    während ($row = $res->fetch(PDO::FETCH_ASSOC)) {
      // echo "id:{$row['id']} Name:{$row['name']}";
	  drucken_r($Zeile);
    }
} Fang (PDOException $e) {
     echo 'Fehlergrund:' . $e->getMessage();
}

Wenn kein Fehler gemeldet wird, ist es erfolgreich

Zusammenfassen

Bei Erfolg ist die primäre Umgebung eingerichtet. Seien Sie während des gesamten Vorgangs vorsichtig und überprüfen Sie beim Konfigurieren der Datei weitere Informationen.

Oben finden Sie Einzelheiten zum Erstellen einer LNMP-Umgebung mit Docker. Weitere Informationen zum Erstellen einer LNMP-Umgebung mit Docker finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Verwenden Sie Docker, um ein verteiltes lnmp-Image zu erstellen
  • So stellen Sie die LNMP-Architektur im Docker bereit
  • So erstellen Sie eine lnmp-Umgebung im Docker
  • Verwenden Sie Docker, um eine integrierte Service-LNMP-Umgebung zu erstellen
  • Detaillierte Erläuterung zur Verwendung von Docker zum Erstellen einer LNMP-Umgebung
  • Beispiel für die Kompilierung von LNMP im Docker-Container

<<:  Ist Ihre Website für IE8 geeignet?

>>:  Reines CSS, um bei der Textbeschreibung einen halbtransparenten Effekt zu erzielen, wenn die Maus darauf platziert wird (unbedingt für Anfänger lesen)

Artikel empfehlen

Analyse des Verwendungsbeispiels für den Common Table Expression CTE in mysql8

Dieser Artikel beschreibt anhand eines Beispiels ...

MySQL Series II-Konfiguration für mehrere Instanzen

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

Machen Sie sich nicht die Mühe mit JavaScript, wenn es mit CSS geht

Vorwort Jede Anwendung, die in JavaScript geschri...

Entdecken Sie die Wahrheit hinter dem Neuladevorgang in Nginx

Der heutige Artikel stellt hauptsächlich den Neul...

Eine kurze Diskussion über die Lebenszyklusfunktionen von React Component

Was sind die Lebenszyklusfunktionen von React-Kom...

WeChat-Applet zur Bestimmung, ob die Mobiltelefonnummer legal ist Beispielcode

Inhaltsverzeichnis Szenario Wirkung Code Zusammen...

Freundliche Alternativen zum Find Tool in Linux

Mit dem Befehl „Find“ können Sie in einem angegeb...

Nexus nutzt API für den Betrieb

Nexus bietet RestApi, aber einige APIs müssen noc...

HTML realisiert Echtzeit-Überwachungsfunktion der Hikvision-Kamera

Das Unternehmen hat vor Kurzem einige CCFA-Aktivi...

Detaillierte Schritte zum Upgrade von mysql8.0.11 auf mysql8.0.17 unter Win2008

Upgrade-Hintergrund: Um die Sicherheitslücke in d...

So deinstallieren Sie MySQL 5.7.19 unter Linux

1. Finden Sie heraus, ob MySQL zuvor installiert ...

Detaillierte Untersuchung des MySQL-Verbundindex

Ein zusammengesetzter Index (auch gemeinsamer Ind...