docker 容器中解析 PHP 过程

最近学习了docker创建多个容器,在多个容器的情况下解析php,我的环境是在centos7上面实现创建了两个容器,一个是搭建nginx服务,一个是php容器,通过访问搭建nginx的服务容器,实现nginx容器解析php容器的步骤,话不多说,直接上流程。(我是通过dockfile生成的镜像,这里就省略了,大家可以从网上pull镜像)。

一:创建nginx镜像和php镜像

docker容器中解析php过程
docker build -t nginx-server .
docker容器中解析php过程
docker build -t php-fpm .
注意:这里执行生成镜像的地方都是有Dcokerfile文件的。

二:根据镜像生成容器。

docker容器中解析php过程
docker run -itd -v /usr/docker/test/nginx/conf:/conf -p 8001:80 –name nginx nginx
这里-v参数是共享文件的,/usr/docker/test/nginx/conf是宿主机的配置文件目录,/conf为容器中的配置文件目录,共享文件的好处就是可以在宿主机中修改配置文件,而不用去容器中在去修改。

docker容器中解析php过程
docker run -itd -v /usr/docker/test/php/www:/www -p 9001:9000 –name php php-fpm
-p参数是映射宿主主机端口和容器端口的,-name为容器名称 php-fpm为镜像名称。

三:配置nginx

docker容器中解析php过程
注意:这个地方的地址是php容器的宿主主机地址。不是php容器的地址,这个地方,我走过坑,特意给大家提醒一下。
四:查看结果。
在php容器中的共享文件里面新建index.php填入echo phpinfo();
docker容器中解析php过程

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

建议将php容器端口不映射出来,使用expose将9000接口暴露出来,在nginx配置文件里直接连接上,这样方便你使用多个php容器

4年前 评论

@figurant expose 只是声明端口吧,并不是实际把端口映射出来,据我了解到的。

4年前 评论
figurant 4年前

fastcgi_pass php:9001 #这里直接写php容器的容器名称+端口就可以了

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!