一、Docker 安装PHP
和安装nginx一样,我们可以先通过命令查找镜像
docker search php

因为我自己阿里云服务器上已安装php 7.2.11版本,所以我选择了7.2.11-fpm,其他版本的可自行选择
docker pull php:7.2.11-fpm
安装完成后查看镜像列表
docker images

使用php镜像开启php-frm应用容器
docker run -p 9081:9000 -d --name myphp-fpm -v /home/nginx/www:/usr/share/nginx/html php:7.2.11-fpm
参数说明
-p 9081:9000:将容器的9000端口映射到主机的9081端口
-d 后台运行(守护进程)
--name myphp-fpm:将容器命名为myphp-fpm
-v 将主机中当前目录下的/home/nginx/www挂载到容器的/usr/share/nginx/html目录
查看容器启动情况,看到nginx和php都运行成功
docker ps -a

二、修改nginx相关配置
进入到nginx-server容器
docker exec -it nginx-server bash
cd /etc/nginx/conf.d/
ls -lat

注意要使用ctrl + p + q退出容器,要是使用exit的话,容器会停止
由于在容器编辑配置文件比较麻烦,可以先把文件复制到宿主机,然后在宿主机进行编辑
docker cp nginx-server:/etc/nginx/conf.d/default.conf default.conf
在宿主机修改配置文件的php部分,内容如下:
location ~ \.php$ {
fastcgi_pass 172.17.0.4:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
其中容器的IP可通过命令查看,当然也可以设置为本地127.0.0.1:9000
注意fastcgi_param SCRIPT_FILENAME,要和容器的目录(/usr/share/nginx/html)一致
docker inspect myphp-fpm | grep "IPAddress"

然后使用复制命令将宿主机的文件复制到容器
docker cp nginx-server:/etc/nginx/conf.d/default.conf default.conf

最后进入容器重启nginx让配置生效
docker exec -it nginx-server bash
service nginx reload

三、测试php
创建phpinfo文件

