docker 容器中解析 PHP 过程
最近学习了docker创建多个容器,在多个容器的情况下解析php,我的环境是在centos7上面实现创建了两个容器,一个是搭建nginx服务,一个是php容器,通过访问搭建nginx的服务容器,实现nginx容器解析php容器的步骤,话不多说,直接上流程。(我是通过dockfile生成的镜像,这里就省略了,大家可以从网上pull镜像)。
一:创建nginx镜像和php镜像
docker build -t nginx-server .
docker build -t php-fpm .
注意:这里执行生成镜像的地方都是有Dcokerfile文件的。
二:根据镜像生成容器。
docker run -itd -v /usr/docker/test/nginx/conf:/conf -p 8001:80 –name nginx nginx
这里-v参数是共享文件的,/usr/docker/test/nginx/conf是宿主机的配置文件目录,/conf为容器中的配置文件目录,共享文件的好处就是可以在宿主机中修改配置文件,而不用去容器中在去修改。
docker run -itd -v /usr/docker/test/php/www:/www -p 9001:9000 –name php php-fpm
-p参数是映射宿主主机端口和容器端口的,-name为容器名称 php-fpm为镜像名称。
三:配置nginx
注意:这个地方的地址是php容器的宿主主机地址。不是php容器的地址,这个地方,我走过坑,特意给大家提醒一下。
四:查看结果。
在php容器中的共享文件里面新建index.php填入echo phpinfo();
本作品采用《CC 协议》,转载必须注明作者和本文链接
建议将php容器端口不映射出来,使用expose将9000接口暴露出来,在nginx配置文件里直接连接上,这样方便你使用多个php容器
@figurant expose 只是声明端口吧,并不是实际把端口映射出来,据我了解到的。