Docker 搭建 PHP 运行环境完整步骤

Docker2257字数 1378阅读模式

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。今天为大家分享一下使用 Docker 搭建 PHP 运行环境的完整步骤,供有此需求的小伙伴参考。

Docker 搭建 PHP 运行环境完整步骤-图片1

具体步骤

拉取 php-fpm 镜像,并启动 php-fpm 容器。然后配置 Nginx 反向代理,并启动 Nginx (容器或程序)。

第一步:拉取php-fpm镜像:

docker pull php:7.4-fpm

第二步:启动php-fpm容器

docker run -d -p 9000:9000 --name php-fpm --restart always -v /home/nginx/html:/www -d php:7.4-fpm

第三步:将容器中的www目录复制到宿主机

docker cp php-fpm:/www /home/nginx/html

第四步:重启php-fpm容器

docker restart php-fpm

第五步:修改Nginx配置文件

server {
    listen 80;
    server_name localhost;
    
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm index.php;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
    
    location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
        include fastcgi_params;
    }
}
$fastcgi_script_name前面加/www/,/www是容器中存放php文件的目录,这个很重要。

第六步:启动Nginx容器并关联PHP

docker run --name nginx -p 8000:80 -d --restart always \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/logs:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
--link php-fpm:php \
-d nginx:1.24.0
--link php-fpm:php 这个参数很重要,代表运行nginx的时候要关联php容器。

第七步:创建测试文件

在/home/nginx/html路径下创建info.php,内容如下:

<?php
    echo phpinfo();
?>

第八步:测试

通过浏览器访问:

Docker 搭建 PHP 运行环境完整步骤-图片2

结束语

Docker 是一个开源的应用容器引擎,使用 Docker 可以快速搭建 PHP 运行环境。本文简单分享了一下使用 Docker 搭建 PHP 运行环境的完整步骤,供有此需求的小伙伴参考。如果有任何意见或建议,欢迎在下方评论处留言。

本文已通过「原本」原创作品认证,转载请注明文章出处及链接。

Docker最后更新:2024-8-25
夏日阳光
  • 本文由 夏日阳光 发表于 2024年7月26日
  • 本文为夏日阳光原创文章,转载请务必保留本文链接:https://www.pieruo.com/247.html
评论  2  访客  1  作者  1
    • 似水流年
      似水流年 2

      看见Docker就瑟瑟发抖。 :cry:

        • 夏日阳光
          夏日阳光

          @ 似水流年 Docker没有那么难,如果感兴趣的话,可以搭个docker环境研究一下。

      匿名

      发表评论

      匿名网友
      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
      确定

      拖动滑块以完成验证