docker 构建基于centos的php72-fpm镜像

网上找了很多,发现基于ubuntu的php-fpm构建镜像是主流的,应该也可以用于生产环境。
可是我对ubuntu语法不熟悉,而习惯使用centos。于是艰难的找到了这个镜像,该镜像构建简单方便,且使用了构建php最主流的remi库。,让人满意。这样能始终支持最新版本的php。


额外说一句,docker的标准用法是每个docker容器只提供一个服务。
所以应该是php-fpm单独一个容器,nginx单独一个容器。本文的思路也是这样的,坚决不搞docker全家桶。


===========================================

这是原始的,名字:amazeeio/centos:7,该镜像内含了一些原作者自己的写命令,用于后续的构建,可惜不是通过Dockerfile构建的,不知具体内容,很遗憾。所以,如果用的话,只能依赖于原作者这个镜像。


这是新的,直接可用的一个基于centos的php-fpm镜像。
amazeeio/centos7-php


原作者的docker仓库地址。用于不打算自己改,直接用原作者的。
https://hub.docker.com/r/amazeeio/centos7-php/

假设想自己构建镜像,则,
git clone https://github.com/amazeeio/docker-centos7-php
cd docker-centos7-php/
git checkout 7.2

docker build -t 自己的centos7php镜像名 .

=========================================


我现在假设,直接用它的。
docker pull nginx:1.12
docker pull amazeeio/centos7-php:7.2


docker network create -d bridge php-net

创建两个容器
docker run -d --network php-net --name c_fpm -p 9000:9000 -v /var/www/html:/usr/share/nginx/html amazeeio/centos7-php:7.2

docker run -d --network php-net --name c_nginx -p 80:80 -v /var/www/html:/usr/share/nginx/html nginx:1.12

确认一下两个容器始终打开
dcoker ps -a

复制nginx容器的配置文件到docker宿主机。
docker cp c_nginx:/etc/nginx/conf.d/default.conf ./default.conf

vi default.conf
###

location ~ \.php$ {
fastcgi_pass c_fpm: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;
}

###
把上面这段话加入到 nginx配置。

docker cp ./default.conf c_nginx:/etc/nginx/conf.d/default.conf

docker stop c_nginx
docker start c_nginx

vi /var/www/html/1.php
<?php
phpinfo();

在最外面的宿主机,浏览器
http://192.168.99.100/1.php

显示 PHP Version 7.2.0RC2.
不喜欢那个RC2,就自己构建吧!

只需在创建两个容器那里,替换镜像名为你自己构建的镜像名即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值