一个专注于项目管理的Java程序员被迫php,内心抗拒,却无力反抗。。。
docker就是一个让一个人痛苦,整个团队受益的东西,而我就是那个苦孩子
说到底就是环境,版本
centos 不要到7
php不能到7
紧接着yaf和xdebug要跟着php
废话已经很多,干货就是Dockerfile
# 版本 1.00
# 请执行 docker build -t centos6_nginx_php56:版本号 .
From centos:6
MAINTAINER 告诉你你也不会给我
# 安装 wget
RUN yum install -y wget && yum install -y bzip2
# 替换 yum 源
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
RUN wget http://mirrors.163.com/.help/CentOS6-Base-163.repo && cp CentOS6-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
# nginx 源
RUN rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# php 源
RUN rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
RUN rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# 重建 yum 缓存
RUN yum clean all && yum makecache
# 安装 nginx
RUN yum -y install nginx
# 安装 php5.6
RUN yum -y install php56w.x86_64
RUN yum -y --enablerepo=webtatic install php56w-devel
RUN yum -y install php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64 php56w-pear php56w-pecl-xdebug
RUN yum -y install php56w-fpm
# 安装 yaf-2.3.5
RUN yum -y install gcc
RUN pecl install channel://pecl.php.net/yaf-2.3.5
COPY xdebug.ini /etc/php.d/xdebug.ini
COPY yaf.ini /etc/php.d/yaf.ini
# 设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 创建 docker 目录
RUN mkdir /docker && chmod -R 777 /docker
RUN mkdir /docker/apps
RUN mkdir /docker/logs
# 拷贝自己的nginx conf文件
COPY zz.conf /etc/nginx/conf.d/zz.conf
# 开放多个端口
EXPOSE 80
EXPOSE 8000
EXPOSE 443
CMD service nginx start && service php-fpm start && nohup sh -c "while true; do sleep 1; done"
yaf.ini和xdebug.ini不放了,这个网上还是一堆的,也都可以用,毕竟就那俩配置
那么哪天有人再遇到这么过时倒霉的组合的时候,希望我也尽了一份绵薄之力。