Docker安装PHP

Docker安装PHP

本文章转自https://freeaihub.com/article/install-php-in-docker.html,该页可在线运行以下内容

本节将介绍在线使用Docker安装PHP解析器的步骤。通过本节的实操,您可以掌握从Docker环境的使用,PHP镜像以及Nginx服务器的拉取、导入、容器的启动的全部过程,从而具备使用Docker安装并部署PHP与ngninx的能力。本节要求您具备的基本能力有Linux,Docker,以及nginx.

PHP镜像下载

#为节约下载时间,可直接导入本地镜像
#docker pull php:7.1.30-fpm
docker load < /share/images/php:7.1.30-fpm.tar

验证

docker images

出现如下提示说明镜像pull成功了

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
php                 7.1.30-fpm          0b13895891aa        11 months ago       391MB

制作配置文件

创建~/nginx/conf/配置等目录:

mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

创建nginx配置文件

vim ~/nginx/conf/php.conf

在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:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

配置文件说明:

  • php:9000: 表示 php 服务的 URL。
  • /www/: 是 php 容器中 php 文件的存储路径,映射到本地的 ~/nginx/www 目录。

创建首页文件

~/nginx/www目录下创建index.php首页文件,代码如下:

cat > ~/nginx/www/index.php << EOF 
<?php
   phpinfo();
?>
EOF

启动PHP容器和nginx容器

docker run --name myphp7 -v ~/nginx/www:/www -d php:7.1.30-fpm
docker load < /share/images/nginx.tar

docker run --name php-nginx -p 80:80 -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf:/etc/nginx/conf.d --link myphp7:php -d nginx

命令说明:

  • --name php : 将容器命名为 php。
  • -v ~/nginx/www:/www : 将右侧云环境中的目录~/nginx/www 挂载到容器的/www目录下

验证:

使用curl命令验证

curl localhost

或直接打开网址{host0.http_url}进行验证。

总结

通过本节我们在线完成了从PHP镜像的pull,到容器的运行,再通过nginx容器完成对php服务的访问。相信通过本节的在线实操,您能更好的掌握如何使用Docker安装PHP。

相关推荐