lxepoo 2017-01-20 16:25:10 12028次浏览 3条评论 2 1 0

写在前面:

因为我是docker的重度用户,公司的所有架构也都基于docker做的,所以今天分享一个php的镜像给大家。这个镜像是放在阿里云的hub里的,相对来说,国内访问pull下来很快的。注册个阿里云账号就行了,反正也不要钱。这个镜像是公司正式环境所用的镜像,一直很稳定,被引用4000多次,我也时常维护,而且是基于官方的php源镜像制作,安全性有保障。

希望能对大家有所帮助,阿里的docker hub 在 http://dev.aliyun.com

———————————————————————————————————————————————————————

此镜像基于PHP官方镜像制作,源镜像 php:5.6.28-apache

重要提示:强烈建议使用stable版本,latest有时我会做一些测试性的改动,不保证稳定和平滑。

此镜像于2017年1月重构,主要是之前作镜像时很多扩展不完备需要编译,现在pecl已经可以很好的支持dockerfile打包了,所以在此基础上用dockerfile的方式重构了一下,改动有:

1.减少了中间层,防止镜像整体的层数过多。

2.在安装和编译完成后,清除掉了多余过程文件和垃圾。

3.使用supervisord替代了官方的启动命令,主要是基于稳定性考虑做此调整。

4.官方的apache中没有开启rewrite,此版本已开启。

本身安装了如下功能软件:

nano 便于调试

wget 下载工具

PHP版本5.6.28,已开启的php扩展有:

Core,ctype,curl,date,dom,ereg,fileinfo,filter,ftp,hash,iconv,json,libxml,mbstring,memcache

mongo,mysqlnd,openssl,pcre,PDO,pdo_sqlite,Phar,posix,readline,redis,Reflection,session

SimpleXML,SPL,sqlite3,standard,tokenizer,xml,xmlreader,xmlwriter,zlib

包含额外安装扩展:

gd

curl

mysql

redis

memcache

mongo

mongodb(MongoDB的新扩展,mongo扩展不维护了)

网站目录:var/www

使用者可以自己做镜像的时候直接把PHP代码放进去,也可以使用数据卷把代码映射进去。

PHP配置(/usr/local/etc/php/conf.d/php.ini):

data.timezone = PRC

memory_limit = 128m

upload_max_filesize = 16m

post_max_size = 32m

max_execution_time = 600

max_input_time = 600

memory_limit = 128m

如果你需要更多的配置或改写我设置的php配置,可以这样做:

自己写一个php.ini,包含你要改写的内容,然后用你的php.ini覆盖到镜像的/usr/local/etc/php/conf.d/目录下即可。通常可以使用dockerfile的COPY或ADD命令完成。

启动后自动运行apache服务:

docker run -d -p 8080:80 registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

调试:

第一步:docker ps 查看刚才启动的容器ID

第二步:使用docker exec -it [容器ID] bash进入容器

觉得很赞
您需要登录后才可以评论。登录 | 立即注册