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

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

具体步骤

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

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

  1. docker pull php:7.4-fpm

第二步:启动php-fpm容器

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

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

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

第四步:重启php-fpm容器

  1. docker restart php-fpm

第五步:修改Nginx配置文件

  1. server {
  2. listen 80;
  3. server_name localhost;
  4. location / {
  5. root /usr/share/nginx/html;
  6. index index.html index.htm index.php;
  7. }
  8.  
  9. error_page 500 502 503 504 /50x.html;
  10. location = /50x.html {
  11. root /usr/share/nginx/html;
  12. }
  13. location ~ \.php$ {
  14. fastcgi_pass php-fpm:9000;
  15. fastcgi_index index.php;
  16. fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
  17. include fastcgi_params;
  18. }
  19. }
$fastcgi_script_name前面加/www/,/www是容器中存放php文件的目录,这个很重要。

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

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

第七步:创建测试文件

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

  1. <?php
  2. echo phpinfo();
  3. ?>

第八步:测试

通过浏览器访问:

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:
      确定

      拖动滑块以完成验证
      加载中...