FROM centos

COPY ["src","/src"]

RUN groupadd -g 1000 www \
&& useradd -u 1000 -g www -s /sbin/nologin www ;\
yum -y install \
make \
libtool \
gcc gcc-c++\
openssl openssl-devel \
zlib zlib-devel \
bzip2 \
libmemcached libmemcached-devel \
libevent libevent-devel \
libxml2 libxml2-devel \
libcurl libcurl-devel \
libpng libpng-devel \
freetype freetype-devel \
libmcrypt libmcrypt-devel \
pcre pcre-devel \
libjpeg-turbo libjpeg-turbo-devel \
&& ldconfig \
&& yum clean all ;\
cd /src/ \
&& tar xf php-5.6.30.tar.bz2 \
&& cd php-5.6.30 \
&& CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CXXFLAGS="-march=nocona -O2 -pipe" \
./configure --prefix=/usr/local/php \
--enable-fpm \
--enable-mbstring \
--enable-sockets \
--enable-pdo \
--enable-zip \
--enable-fpm \
--with-gd \
--with-fpm-user=www \
--with-fpm-group=www \
--with-zlib \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--prefix=/usr/local/php \
--with-pcre-dir=/usr/lib64/ \
--enable-soap \
--with-openssl-dir=/usr/include/openssl \
--with-openssl \
--enable-mbstring \
--enable-bcmath \
--with-libxml-dir=/usr/lib64/ \
--with-curl=/usr/lib64/ \
--with-png-dir=/usr/lib64/ \
--with-jpeg-dir=/usr/lib64/ \
--with-freetype-dir=/usr/lib64/ \
--with-gettext \
&& make -j`grep -c processor /proc/cpuinfo` > /dev/null \
&& make install > /dev/null \
&& cp -f /src/php-fpm.conf /usr/local/php/etc/php-fpm.conf \
&& cp -f /src/php56.ini /usr/local/php/etc/php56.ini \
&& ln -s /usr/local/php/etc/php56.ini /usr/local/php/etc/php.ini \
&& ln -sf /usr/local/php/etc/php.ini /etc/php.ini \
&& mkdir -p /data/{logs,web} \
&& chown www:www -R /data/logs /data/web \
&& echo "kill -USR2 \`cat /data/logs/php-fpm.pid\`" > /root/php-fpm_reload \
&& chmod 700 /root/php-fpm_reload ;\
cd /src/ \
&& tar xf memcache-2.2.7.tgz \
&& cd memcache-2.2.7 \
&& /usr/local/php/bin/phpize \
&& CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CXXFLAGS="-march=nocona -O2 -pipe" \
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config \
&& make \
&& make install ;\
cd /src/ \
&& tar xf memcached-2.2.0.tgz \
&& cd memcached-2.2.0 \
&& /usr/local/php/bin/phpize --clean \
&& /usr/local/php/bin/phpize \
&& ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config \
&& make \
&& make install ;\
cd / ;\
rm -rf /src ;\
yum remove -y iputils* iproute file make gcc cpp vim-minimal acl bind* rootfiles file \
python-chardet gobject-introspection libxml2-python python-gobject-base basesystem libgomp \
libstdc++-devel glibc-headers mpfr passwd yum-plugin-ovl dbus-glib python-kitchen kernel-headers \
&& yum clean all;\
userdel mail ;\
userdel ftp ;\
cp /usr/share/zoneinfo/Asia/Shanghai /etc/ ;\
ln -svf /etc/Shanghai /etc/localtime ;\
rm -rf /src /root/.bash* /root/.cshrc /root/.tcshrc /var/cache /usr/share/zoneinfo EXPOSE 9000
CMD ["/usr/local/php/sbin/php-fpm","--fpm-config","/usr/local/php/etc/php-fpm.conf"]

PHP的配置文件php-fpm.conf,需要作如下调整:

[global]
daemonize = no
[www]
listen = 0.0.0.0:9000
;listen.allowed_clients = 0.0.0.0

这样允许PHP容器接收所有网卡的请求

PHP5.6 Dockerfile的更多相关文章

  1. Docker进阶之九:Dockerfile 及 通过Dockerfile搭建lnmp

    一.Dockerfile指令 指令 描述 指令 描述 FROM 构建的新镜像是基于哪个镜像 例如:FROM centos:6 COPY 拷贝文件或目录到镜像,用法同上例如:COPY ./start.s ...

  2. Dockerfile centos7_php5.6.36

    Dockerfile: FROM centos:7 MAINTAINER www.ctnrs.com RUN yum install epel-release -y && \ yum ...

  3. docker:Dockerfile构建LNMP平台

    docker:Dockerfile构建LNMP平台   1.dockerfile介绍  Dockerfile是Docker用来构建镜像的文本文件,包含自定义的指令和格式.可以通过docker buil ...

  4. dockerfile构建nginx并结合php

    转自:https://www.cnblogs.com/jsonhc/p/7799358.html 查看nginx和php的目录结构: [root@docker docker_demo]# tree n ...

  5. 10、Dockerfile实战-PHP

    一.镜像制作步骤 安装编译依赖包 编译安装 配置 二.编写Dockerfile FROM centos:7 MAINTAINER QUNXUE RUN yum install -y gcc gcc-c ...

  6. dockerfile创建镜像及容器

    第一步: 从王总git上:http://git.oursdata.com/wangyue/dockerfiles.git 进入下图的文件夹中 然后执行以下的说明执行步骤   第二步: 开发环境dock ...

  7. Docker实战(五)编写Dockerfile

    一.创建Dockerfile文件 首先,需要创建一个目录来存放 Dockerfile 文件,目录名称可以任意,在目录里创建Dockerfile文件: 二.Dockerfile 基本框架 Dockerf ...

  8. Dockerfile分离构建LNMP环境部署wordpress

    最近忙着写自己的项目,也把一个站点的bbs论坛打算迁移到Docker中,测试没发现啥大问题.在单台上面的架构如下:(往后我们也是要讲到compose和swarm调度的慢慢来) 1.首先我们先安装一下d ...

  9. 编写 Dockerfile 最佳实践

    官方仓库虽然有数十万计的免费镜像,但大多数无法直接满足公司业务需求,这就需要我们自己去定制镜像了. Docker通过Dockerfile自动构建镜像,Dockerfile是一个包含用于组建镜像的文本文 ...

随机推荐

  1. vs启动出错(chenlu-1):参数“basePath”不能是相对路径

    参数“basePath”不能是相对路径 原因: 1.调试路径下没有exe文件.没有生成exe文件. 2.项目属性->配置属性->调试->命令中的参数被设置为相对路径.

  2. Oracle 行列转置

    两种简单的行列转置 1.固定列数的行列转换如student   subject    grade--------- ---------- --------student1  语文       80st ...

  3. 从零开始搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  4. 死锁的原因及解决办法RLock递归锁

    死锁 说到死锁,可以讲一个科学家吃面的问题: 有几个科学家在一张桌子旁,桌子上只有一把筷子和一碗面,我们将面和筷子都加锁.这是可能会导致一个科学家抢到面,另一个科学家抢到筷子,这是就全部阻塞了,这就是 ...

  5. 进程池原理及效率测试Pool

    为什么会有进程池的概念? 当我们开启50个进程让他们都将100这个数减1次减到50,你会发现特别慢! 效率问题,原因: 1,开辟内存空间.因为每开启一个进程,都会开启一个属于这个进程池的内存空间,因为 ...

  6. 14 CSS题目附答案

    转载自公众号:web前端开发  原文题目:45道CSS基础面试题(附答案) 1. 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content) ...

  7. Python学习之旅(一)

    Python的简介 Python是一种面向对象的.动态的脚本语言,可用来设计网页和开发后台功能.其创始人Guido van Rossum于1989年圣诞节期间创造了这门语言. (图片来自百度) Pyt ...

  8. Springboot的2种启动方式

    sprigboot既可以直接通过main方法启动,也可以在tomcat里启动,在main方法里启动很简单,直接run启动类的main方法就可以了. 在tomcat里启动是需要配置一下的,需要实现以下S ...

  9. python----下载与安装

    在 Windows 上安装 Python 在 Windows 上安装 Python 请按如下步骤进行. 首先,登录 https://www.python.org/downloads/ 页面,可以在该页 ...

  10. 01day

    01 cpu 内存 硬盘 操作系统  CPU:中央处理器,相当于人大脑.   (运行速度飞机)   内存:临时存储数据. 8g,16g,          (高铁)   1,成本高.   2,断电即消 ...