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. Spring data jpa JavassistLazyInitializer 不仅是Json序列化问题.以及解决办法

    最近偷点时间更新一下框架,使用SpringBoot2.0 整套一起更新一下,发现些小问题 Spring data jpa getOne 返回的是代理对象,延迟加载的,ResponseBody成Json ...

  2. 以太坊: ETH 发送交易 sendRawTransaction 方法数据的签名 和 验证过程

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  3. 转:Maven <resource>标签

    maven资源文件的相关配置   构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件. src/main/java和src/test/java  这 ...

  4. nodejs electron 创建桌面应用

    //首先安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org //使用cnpm进行安装,使用方法和npm相同 cn ...

  5. mysql sql注入getshell新姿势

     sql.php?sql=1'报错信息为:1064:You have an error in your SQL syntax; check the manual that corresponds to ...

  6. js获取谷歌浏览器版本 和 js分辨不同浏览器

    // 获取谷歌版本 function getChromeVersion() { var arr = navigator.userAgent.split(' '); var chromeVersion ...

  7. SQL 资源整理

    https://linux.linuxidc.com/index.php 资源链接:linux.linuxidc.com SQL必知必会(第4版)是SQL经典畅销书,内容丰富,简洁实用.本书是麻省理工 ...

  8. fiddler 修改

    很多新手学习fiddler抓包的同学们都会对https网站抓包难或者抓不起来的问题无所适从,想寻求解决办法,没问题,这节课就来解决你的疑问! 最典型的网站就是目前的百度网站了,百度在近些年采用了htt ...

  9. Django之get请求url的参数

    当get网址是127.0.0.1:8000/mysite10这种类型的网址时 有两种方法: 1,在urls的路由的urlpatterns里面这样定义路由 re_path('^mysite(\d+)$' ...

  10. 004-mac下Java6与Java8 安装

    一.Java6安装 官方下载下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-down ...