1:下载php5.6镜像
docker pull php:5.6-fpm
2:创建容器
docker run --name php5.6 -p 5600:9000 -v /home/php5.6:/var/www/html -v /home/php5.6/conf:/usr/local/etc/php -v /log/php5.6:/phplogs -d php:5.6-fpm
docker run -p 9000:9000 --name myphp-fpm -v /home/php5.6:/www -v $PWD/conf:/usr/local/etc/php -v $PWD/logs:/phplogs -d php:5.6-fpm
命令说明:
-p 5600:9000 :主机的5600端口y映射到容器的9000端口
--name php5.6 :将容器命名为php5.6
-v /home/php5.6:/www:/var/www/html :将主机中项目的目录/home/php5.6:/www挂载到容器的/www
-v /home/php5.6/conf:/usr/local/etc/php :将主机中当前目录下的/home/php5.6/conf目录挂载到容器的/usr/local/etc/php
-v/log/php5.6:/phplogs :将主机中当前目录下的/log/php5.6目录挂载到容器的/phplogs
3:查看容器哦
docker ps -a
4:进入容器
docker exec -it 090b /bin/bash
5:查询ip地址
docker inspect php5.6 |grep '"IPAddress"'
6:配置nginx
我是本地nginx配置 没用docker 弄了2个多小时找不到文件 不解析 最后一定要注意两点第一个就是要用docker容器的IP地址 第二点就是nginx fastcgi_param 参数配置
location ~ \.php$ {
root /usr/share/nginx/html;
//注意这里
fastcgi_pass 172.18.0.3:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
//注意这里,和phpfpm挂载目录一致
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
折腾半天终于可以了,有时候一个小问题挡住了前进的步伐,不要气馁,坚持细心考虑分析问题,相信一定都会解决的!