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. numpy和tensorflow中的广播机制

    广播的引出 numpy两个数组的相加.相减以及相乘都是对应元素之间的操作. import numpy as np x = np.array([[2,2,3],[1,2,3]]) y = np.arra ...

  2. 联想R720面板右下部分按压后和上面按键串联了

    如图所示的位置,一用力按压,就会触发键盘的按键. 前提: 本人刚刚加装了内存条,内存条是京东买的 十铨(Team) DDR4 2400 8GB 笔记本内存,安装完内存以后,发现电脑出了这样的问题. 解 ...

  3. IOS如何安装ipa文件

    https://www.i4.cn/pro_ios.html#jiaocheng 用电脑下载 爱思助手PC端 然后电脑连接 苹果手机, 用 安装的 爱思助手PC端 软件 安装 “爱思助手移动端” 下载 ...

  4. iOS - 数组字典模型根据模型属性key排序

    方法一: NSArray *sortArray = [arrayM sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { ...

  5. springboot2.X访问静态文件配置

    config配置: @Configuration public class WebMvcConfig implements WebMvcConfigurer { /** * 跨域配置 * @retur ...

  6. Centos6.8 安装dlib库时出错【升级gcc 到4.9.0以上】

    在centos6.8上安装dlib库时出现错误: 1.CMake must be installed to build the following extensions: dlib 没有安装CMake ...

  7. python和计算机的交互

    网易邮箱都2万+满了,但是只有手动删除.实在太多,于是想使用python脚本实现,python有很多现成的库可以使用,这就是python的好处,而不是c++或者java,python的库说明网站:ht ...

  8. poj2109 【贪心】

    Current work in cryptography involves (among other things) large prime numbers and computing powers ...

  9. input属性为number时,如何去掉右边的 +、-号

    修改css /* 谷歌 */ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearan ...

  10. C#winform窗体实现对sql server数据库的增删改查

    1.运行效果截图 2.输入用户名,密码进行查询 查找成功则显示 查找不成功显示用户信息不存在 3.输入用户名与密码,向数据库中添加用户信息 添加后数据库表信息 4.查看全部信息 5.根据编号信息进行查 ...