Docker搭建PHP运行环境 CentOS7环境下使用Docker搭建PHP运行环境的过程详解
李维山 人气:0想了解CentOS7环境下使用Docker搭建PHP运行环境的过程详解的相关内容吗,李维山在本文为您仔细讲解Docker搭建PHP运行环境的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Docker搭建PHP运行环境,CentOS7,Docker搭建PHP运行环境,下面大家一起来学习吧。
相关文章:
1、创建私有网络
docker network create lnmp
私有网络创建成功:
2、安装Nginx
镜像地址:https://hub.docker.com/_/nginx?tab=tags
可以安装最新版Nginx,这里通过搜索标签,拉取 Nginx1.18.0 镜像:
docker pull nginx:1.18.0
使用 docker images 命令查看 安装Nginx镜像成功:
运行Nginx:
#运行容器 docker run --name nginx -p 8080:80 -v /root/docker/nginx/html:/usr/share/nginx/html -d nginx:1.18.0 #移动到配置目录 cd /root/docker/nginx #复制配置文件 docker cp nginx:/etc/nginx/conf.d conf.d #停止容器 docker stop nginx #删除容器 docker rm nginx #再次运行 docker run --name nginx -p 8080:80 --network lnmp -v /root/docker/nginx/html:/usr/share/nginx/html -v /root/docker/nginx/conf.d:/etc/nginx/conf.d/ -d nginx:1.18.0
测试:在Nginx站点根目录html目录下创建index.html文件,并写入文字:
echo "Nginx Server" >> /root/docker/nginx/html/index.html
浏览器访问主机地址 127.0.0.1:8080 如下,则Nginx安装成功:
3、安装MySQL
镜像地址:https://hub.docker.com/_/mysql?tab=tags ,这里拉取MySQL5.7.34镜像:
docker pull mysql:5.7.35
运行MySQL:
docker run --name mysql5.7 --network lnmp -v /root/docker/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d --privileged=true mysql:5.7.35
4、安装PHP
镜像地址:https://hub.docker.com/_/php?tab=tags,这里拉取PHP7.4镜像:
docker pull php:7.4-fpm
运行PHP:
#运行镜像 docker run --name php7.4 --network lnmp -d php:7.4-fpm #创建目录 mkdir -p /root/docker/php #移动目录 cd /root/docker/php/ #复制www.conf docker cp php7.4:/usr/local/etc/php-fpm.d/www.conf www.conf #进入容器 docker exec -it php7.4 bash #移动目录 cd /usr/src/ #解压文件 xz -d php.tar.xz #解压文件 tar -xvf php.tar #退出镜像 exit #复制php.ini docker cp php7.4:/usr/src/php-7.4.22/php.ini-production php.ini #停止镜像 docker stop php7.4 #删除镜像 docker rm php7.4 #再次运行镜像 docker run --name php7.4 --network lnmp -v /root/docker/nginx/html:/var/www/html -v /root/docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf -v /root/docker/php/php.ini:/usr/local/etc/php/php.ini -d php:7.4-fpm
编辑Nginx配置文件 vim /root/docker/nginx/conf.d:
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { root /usr/share/nginx/html; index index.php index.html index.htm; try_files $uri $uri/ =404; } error_page 404 /404.html; location = /40x.html { root /user/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /var/www/html/; fastcgi_pass php7.4:9000; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
创建index.php文件:vim /root/docker/nginx/html/index.php
<?php phpinfo();
重启Nginx镜像:(进程ID通过 docker ps 命令查看)
docker restart 43aea5a90446
此时浏览器访问主机地址 127.0.0.1:8080 如下,则PHP安装成功:
加载全部内容