Heim >Betrieb und Instandhaltung >Docker >Analysieren Sie, wie Docker eine lnmp-Umgebung erstellt (php7.4 + nginx)
Dieser Artikel stellt Ihnen die Installationsmethode von Docker unter Linux vor und erfährt mehr über die Schritte zum Erstellen einer lnmp-Umgebung (php7.4 + nginx) mit Docker. Ich hoffe, er wird Ihnen hilfreich sein! 1. Docker-Grundlagen 1.1 Docker-Installation
yum install -y docker
beweist, dass die Installation abgeschlossen ist:
[root@localhost docker]# docker version Client: Version: 1.13.1 API version: 1.26 Package version: docker-1.13.1-204.git0be3e21.el7.x86_64 Go version: go1.10.3 Git commit: 0be3e21/1.13.1 Built: Fri Mar 19 13:57:09 2021 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Package version: docker-1.13.1-204.git0be3e21.el7.x86_64 Go version: go1.10.3 Git commit: 0be3e21/1.13.1 Built: Fri Mar 19 13:57:09 2021 OS/Arch: linux/amd64 Experimental: false [root@localhost docker]#sudo systemctl enable docker #Docker so einrichten, dass er beim Booten automatisch startetWir müssen die Docker-Image-Quelle vor dem Start ändern:
systemctl start docker # 启动docker systemctl stop docker # 停止docker systemctl status docker # 查看docker状态 systemctl restart docker # 重新启动dockerAfter Nach Abschluss führen Sie „systemctl start docker“ aus, um den Docker-Dienst zu starten. 2. Docker erstellt eine LNMP-UmgebungEinführung in die Umgebungssoftware: 2
Die von Docker erstellte LNMP-Verzeichnisstruktur:
[root@localhost docker]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"] }2.1 Von Docker erstelltes Nginx
Wir können den Befehl docker search nginx verwenden, um das Nginx-Image auf Docker Hub zu finden. Hier rufen wir direkt das offizielle Image ab. docker
│ └── nginx
│ │ └── default.conf #nginx配置文件
│ └── www
│ └── ... #项目代码
Warten auf den Download Zum Abschluss finden Sie das Bild, dessen REPOSITORY Nginx ist, in der lokalen Bildliste.
[root@localhost ~]# docker pull nginx
[root@localhost www]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 62d49f9bab67 12 days ago 133 MB
[root@localhost ~]# cd /docker/nginx [root@localhost ~]# touch default.conf [root@localhost ~]# vim default.conf server { listen 80; listen [::]:80; server_name localhost; root /docker/www/lmrs-2008/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /docker/www/lmrs-2008/public; } location ~ \.php$ { root /docker/www/lmrs-2008/public; fastcgi_pass 172.17.0.3:9000; //容器的ip地址 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
IP-Informationen anzeigen
fastcgi_pass 172.17.0.3:9000;
Nginx-Image zum Öffnen des Nginx-Anwendungscontainers verwenden
[root@localhost docker]# docker inspect php | grep "IPAddress" "SecondaryIPAddresses": null, "IPAddress": "172.17.0.3", "IPAddress": "172.17.0.3",2.2 Docker-Installations-PHP
[root@localhost ~]# docker run -p 80:80 -d --name nginx -v /docker/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /docker/www:/docker/www --privileged=true nginx -p 80:80:将容器的80端口映射到主机的80端口 -d 后台运行(守护进程) --name nginx:将容器命名为nginx -v 将主机中当前目录下的www挂载到容器的www目录 #查看docker目前的容器 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8781afd1bf13 nginx "/docker-entrypoin..." About an hour ago Up 17 minutes 0.0.0.0:80->80/tcp nginxNachdem der Download abgeschlossen ist, können wir das Bild mit dem PHP-REPOSITORY und der Bezeichnung 7,4-fpm im lokalen Verzeichnis finden Bildliste.
[root@localhost ~]# docker pull php:7.4-fpmVerwenden Sie das PHP-Bild, um den PHP-FRM-Anwendungscontainer zu öffnen.
[root@localhost docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 62d49f9bab67 12 days ago 133 MB docker.io/php 7.4-fpm 41b17b0f90e6 2 weeks ago 405 MBÜberprüfen Sie den Startstatus des Containers.
[root@localhost docker]# docker run -p 9000:9000 -d --name php -v /docker/www:/docker/www --privileged=true php:7.4-fpm -p 9000:9000 :将容器的9000端口映射到主机的9000端口 -d 后台运行(守护进程) --name php:将容器命名为php -v 将主机中当前目录下的www挂载到容器的www目录An diesem Punkt können Sie sehen, dass sowohl Nginx als auch PHP erfolgreich ausgeführt werden (der STATUS zeigt an, dass sie ausgeführt werden). )Sehen Sie sich das von Nginx konfigurierte PHP an. Ist die FPM-Dienst-IP konsistent:
[root@localhost docker]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cbf73ca0f17c php:7.4-fpm "docker-php-entryp..." About an hour ago Up About an hour 0.0.0.0:9000->9000/tcp php 8781afd1bf13 nginx "/docker-entrypoin..." About an hour ago Up 23 minutes 0.0.0.0:80->80/tcp nginxIn der obigen Konfiguration muss fastcgi_pass 172.17.0.3:9000; mit der IP des PHP-Containers übereinstimmen, den wir anzeigen . Vervollständigen Sie die obige Konfiguration und bestätigen Sie, dass beim Starten des Containers kein Problem vorliegt. Sie können es testen:
location ~ \.php$ { root /docker/www/lmrs-2008/public; fastcgi_pass 172.17.0.3:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }Empfohlenes Lernen: „
Docker-Video-Tutorial
"Das obige ist der detaillierte Inhalt vonAnalysieren Sie, wie Docker eine lnmp-Umgebung erstellt (php7.4 + nginx). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!