CentOS7环境下使用Docker搭建PHP运行环境的过程详解
相关文章:
CentOS7下使用yum安装Docker
Win10环境下使用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
重启Nginx镜像:(进程ID通过 docker ps 命令查看)
docker restart 43aea5a90446此时浏览器访问主机地址 127.0.0.1:8080 如下,则PHP安装成功:
您可能感兴趣的文章
- 01-12Docker部署rabbitmq遇到的两个问题
- 01-12最新虚拟机VMware 14安装教程
- 01-12使用docker compose安装harbor私有仓库的详细教程
- 01-12Windows下Docker安装各种软件的详细过程
- 01-12seata docker 高可用部署的详细介绍
- 01-12浅谈Tomcat多层容器的设计
- 01-12Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤
- 01-12解决vscode docker插件docker.socket权限问题
- 01-12Docker中运行PostgreSQL并推荐几款连接工具
- 01-12Docker核心原理之 Cgroup详解


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 12-05Docker安装Jenkins全过程
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法





