先起一个ubuntu的docker;
$docker run -ti --name test1 ubunt;
然后安装php5-fpm
apt-get install php5-fpm;
配置fpm,允许从其他机器访问:
listen=9000; (默认是127.0.0.1:9000)
退出当前的docker container;
然后commit成一个image;
docker commit test1 myfpm;
重新起这个image,带port参数;
docker run -ti --name test2 -p 9000:9000 myfpm;
在docker bash里面起fpm
$php5-fpm;
$ss -l ;可以看到 监听端口情况
然后再宿主机器访问docker;
docker-machine ip default; 我这是mac。 需要看实际ip,如果是linux系统则不需要;
配置本地的nginx,让php解析指向docker machine的 ip
fastcgi_pass 192.168.99.100:9000;
OK,测试一下;
curl localhost/info.php
这个info.php是宿主机nginx root目录的文件。需要在docker里面对应的目录也建立相应的文件。
删除宿主机的info.php,发现也可以正常访问,说明实际上nginx只是传递文件路径给php解析器而已。