您的位置:首页 > 运维架构 > Docker

src.docker-phpfpm53

2017-09-28 00:00 260 查看
摘要: Dockerfile, php-fpm with php-redis.so and amqp.so

难点在于,低版本的php编译扩展比较麻烦.

# 需要离线下载如下文件

tarball/CentOS6-Base-163.repo
tarball/phpredis-3.1.3.tar.gz
tarball/rabbitmq-c-0.7.1.tar.gz
tarball/amqp-1.6.0.tgz


# dockerfile内容

FROM centos:6
MAINTAINER 810608951@139.com

# centos mirror
WORKDIR /etc/yum.repos.d
RUN mv CentOS-Base.repo CentOS-Base.repo.bak201708
COPY ./tarball/CentOS6-Base-163.repo CentOS6-Base-163.repo
RUN yum clean all && yum makecache

RUN yum -y update && yum clean all
# install php5.3.3-fpm
RUN yum -y install php-fpm php-mbstring php-mysql php-gd && yum clean all
RUN sed -e 's/127.0.0.1:9000/9000/' \
-e '/allowed_clients/d' \
-e '/catch_workers_output/s/^;//' \
-e '/error_log/d' \
-i /etc/php-fpm.d/www.conf

# install php-redis.so
RUN mkdir -p /var/www/html
RUN yum -y install php-devel gcc && yum clean all
RUN which phpize
# RUN curl 'https://codeload.github.com/phpredis/phpredis/tar.gz/3.1.3' > phpredis-3.1.3.tar.gz
WORKDIR /var/www/html
COPY ./tarball/phpredis-3.1.3.tar.gz .
RUN tar zxvf phpredis-3.1.3.tar.gz
WORKDIR /var/www/html/phpredis-3.1.3/
RUN phpize && ./configure
RUN make && make install

RUN echo 'extension=redis.so' > /etc/php.d/redis.ini
RUN php -m | grep redis

# install amqp
WORKDIR /var/www/html
RUN yum -y install php-devel && yum -y install gcc
COPY ./tarball/rabbitmq-c-0.7.1.tar.gz .
RUN tar zxvf rabbitmq-c-0.7.1.tar.gz
WORKDIR /var/www/html/rabbitmq-c-0.7.1
RUN yum -y install libtool
RUN autoreconf -i && ./configure --prefix=/usr/local/rabbitmq-c-0.7.1 && make && make install

WORKDIR /var/www/html
COPY ./tarball/amqp-1.6.0.tgz .
RUN tar zxvf amqp-1.6.0.tgz
WORKDIR /var/www/html/amqp-1.6.0/
RUN /usr/bin/phpize
RUN ./configure --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.7.1 && make && make install
RUN echo 'extension=amqp.so' > /etc/php.d/amqp.ini

# centos
RUN yum clean all

# change user permission
RUN usermod -u 1000 apache
RUN groupmod -g 1000 apache

WORKDIR /var/www/html
# export port
EXPOSE 9000
ENTRYPOINT /usr/sbin/php-fpm --nodaemonize
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Docker