本文章转自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。