Win10 Docker-Toolsbox-Tutorial zum Erstellen einer PHP-Entwicklungsumgebung

Win10 Docker-Toolsbox-Tutorial zum Erstellen einer PHP-Entwicklungsumgebung

Bild herunterladen

Docker-Pull MySQL:5.7 
docker pull php:7.2-fpm
Docker-Pull Nginx
Docker-Pull Redis: 3.2

Einrichten freigegebener Dateien

Erstellen Sie ein Verzeichnis auf dem Host

E:\wnmp\mysql57\conf
E:\wnmp\mysql57\log
E:\wnmp\php72\conf
E:\wnmp\php72\conf
E:\wnmp\nginx\conf
E:\wnmp\nginx\conf
E:\wnmp\www

VMware-Dateifreigabeeinstellungen

Wie gezeigt

Nachdem die Einrichtung abgeschlossen ist, führen Sie docker-machine restart default im Docker Quickstart Termina aus.

Installieren von MySQL

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7

Kopieren Sie die Konfigurationsdatei

PS C:\Windows\system32>docker cp mysql57:/var/log/mysql E:\wnmp\mysql57\log
PS C:\Windows\system32>docker cp mysql57:/etc/mysql E:\wnmp\mysql57\conf

Installieren Sie MySQL neu und geben Sie die Konfigurationsdatei an

PS C:\WINDOWS\system32> docker stop mysql57
mysql57
PS C:\WINDOWS\system32>docker rm mysql57
mysql57
PS C:\WINDOWS\system32> docker run -d -v /wnmp/mysql57/log:/var/log/mysql/ -v /wnmp/mysql57/conf:/etc/mysql/ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql57 mysql:5.7

Initialisieren der Datenbank

docker exec -ti mysql57 /bin/bash
mysql_secure_installation 
# Mysql-Status anzeigen root@d7bd0712bcf8:/# mysql -uroot -proot
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 6
Serverversion: 5.7.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

Installieren Sie PHP

PS C:\WINDOWS\system32> docker run -d -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm

Kopieren Sie die Konfigurationsdatei

PS C:\Windows\system32>docker cp php72:/usr/local/etc E:\wnmp\php72\conf
PS C:\Windows\system32>docker cp php72:/usr/local/var/log E:\wnmp\php72\log
PS C:\Windows\system32> docker cp php72:/var/www/html E:\wnmp\www

Installieren Sie PHP neu und geben Sie die Konfigurationsdatei an

PS C:\WINDOWS\system32> docker stop php72
php72
PS C:\WINDOWS\system32>docker rm php72
php72
docker run -d -v /wnmp/php72/conf/etc:/usr/local/etc -v /wnmp/php72/log:/usr/local/var/log -v /wnmp/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php72 php:7.2-fpm
# Überprüfen Sie die PHP-Version PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# php -v
PHP 7.2.23 (cli) (erstellt: 5. Okt. 2019 00:31:47) (NTS)
Copyright (c) 1997-2018 Die PHP-Gruppe
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Ngixn

Installieren

PS C:\WINDOWS\system32> docker run -d -p 80:80 --link php72:phpfpm --name nginx nginx:latest

Kopieren Sie die Konfigurationsdatei

PS C:\Windows\system32>docker cp nginx:/etc/nginx/ E:\wnmp\nginx\conf
PS C:\Windows\system32>docker cp nginx:/var/log/nginx/ E:\wnmp\nginx\log

Installieren Sie die Konfigurationsdatei erneut und geben Sie sie an

PS C:\WINDOWS\system32> docker stop nginx
nginx
PS C:\WINDOWS\system32>docker rm nginx
nginx
PS C:\WINDOWS\system32> docker run -d -p 80:80 -v /wnmp/www:/var/www/html -v /wnmp/nginx/conf/nginx:/etc/nginx/ -v /wnmp/nginx/log:/var/log/nginx/ --link php72:phpfpm --name nginx nginx
#Browserzugriff http://192.168.99.100/ Erfolgreiche Redis-Überprüfung
docker run -p 6379:6379 -d redis:3.2 redis-server

Installation der PHP-Erweiterung

Redis
PS C:\Windows\system32> docker exec -ti php72 /bin/bash
root@742150f14d8a:/var/www/html# pecl install -o -f redis
#Installation abgeschlossen, INI-Konfiguration hinzufügen. Zu diesem Zeitpunkt befindet sich die Redis-Konfiguration unter Docker in E:\wnmp\php72\conf\etc\php\conf.d\docker-php-ext-sodium.ini
# PHP neu starten

Konfigurieren des Testdomänennamens

#Erstellen Sie eine neue test.conf im Verzeichnis E:\wnmp\nginx\conf\nginx\conf.d
#Erstellen Sie ein neues Testverzeichnis im Verzeichnis E:\wnmp\www. Erstellen Sie index.php im Verzeichnis und geben Sie phpinfo aus.
Server {
  hören Sie 80;
  Servername test.com;
  #Zeichensatz koi8-r;
  Zugriffsprotokoll /var/log/nginx/host.access.log Haupt;
  Standort / {
    Wurzel /var/www/html/test;
    index.php 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 {
    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 /var/www/html/test;
    fastcgi_pass 192.168.99.100:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $Dokumentstammsatz$fastcgi_script_name;
    fastcgi_params einschließen;
  }
  # Zugriff auf .htaccess-Dateien verweigern, wenn das Apache-Dokumentenstammverzeichnis
  # stimmt mit nginx überein
  #
  Standort ~ /\.ht {
    alles leugnen;
  }
}
#Nginx lädt die Konfiguration neu oder startet neu.
#Der lokale Host löst den Domänennamen test.com auf und der Zugriff zeigt, dass phpinfo normal ist

Das Obige umfasst sämtliche Installationskonfigurationen und Tests. Natürlich müssen wir am Ende diese Docker-Container zum automatischen Start hinzufügen

Docker-Container-Update --restart=immer php72
Docker-Container-Update --restart=immer mysql57
Docker-Container-Update --restart=immer nginx
Docker-Container-Update --restart=immer Redis

Zusammenfassen

Oben finden Sie das Tutorial zur Verwendung von Win10 Docker-Toolsbox zum Erstellen einer PHP-Entwicklungsumgebung. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Dockers flexible Implementierung zum Aufbau einer PHP-Umgebung
  • So erstellen Sie eine PHP+Nginx+Swoole+MySQL+Redis-Umgebung mit Docker
  • Docker erstellt Ihre eigene PHP-Entwicklungsumgebung
  • Der gesamte Prozess der Verwendung von Docker zum Erstellen der PHP7- und Nginx-Betriebsumgebung (offizielles Image)
  • Docker erstellt eine Nginx+PHP+MySQL-Umgebung und implementiert WordPress-Praxis
  • Tutorial zum Konfigurieren einer PHP-Entwicklungsumgebung mit Docker
  • Detaillierte Erläuterung der Lösung des Berechtigungsproblems beim Erstellen einer PHP-Entwicklungsumgebung mit Docker
  • So verwenden Sie Docker zum Bereitstellen einer PHP-Entwicklungsumgebung
  • Ein ausführliches Tutorial zum Erstellen einer PHP-Entwicklungsumgebung basierend auf Docker
  • Detaillierte Erläuterung des Tutorials zum Erstellen einer PHP-Umgebung für Docker

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.14

>>:  Grundlegende Verwendung und Fallstricke der JavaScript-Array-Methode sort()

Artikel empfehlen

Lösung zur Deinstallation von Python und Yum im CentOs-System

Hintergrund des Unfalls: Vor einigen Tagen habe i...

Lebenszyklus und Ausführungsreihenfolge von React-Class-Komponenten

1. Zwei Möglichkeiten zum Definieren von Reaktion...

Detaillierte Erläuterung des Ausführungsprozesses von MySQL-Abfrageanweisungen

Inhaltsverzeichnis 1. Kommunikationsmethode zwisc...

Lösung für das Problem, dass Centos8 Docker nicht installieren kann

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...

Erstellen Sie eine virtuelle Umgebung mit venv in Python3 in Ubuntu

1. Virtuelle Umgebung folgt dem Projekt, erstelle...

Detaillierte Erläuterung der MySQL-Benutzerrechteverwaltung

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

In einem Artikel erfahren Sie, wie Sie ein Vue-Plugin schreiben

Inhaltsverzeichnis Was ist ein Plugin Plugins sch...

Beispiel für eine adaptive CSS-Bildschirmgrößenimplementierung

Um eine CSS-Bildschirmgrößenanpassung zu erreiche...

Vue-Anfängerhandbuch: Umgebungserstellung und Erste Schritte

Inhaltsverzeichnis Erster Blick Erstellen einer V...

Detaillierte Erklärung zum Anzeigen und Einstellen des SQL-Modus in MySQL

Anzeigen und Einstellen des SQL-Modus in MySQL My...