PHP5.6 Dockerfile
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的更多相关文章
- Docker进阶之九:Dockerfile 及 通过Dockerfile搭建lnmp
一.Dockerfile指令 指令 描述 指令 描述 FROM 构建的新镜像是基于哪个镜像 例如:FROM centos:6 COPY 拷贝文件或目录到镜像,用法同上例如:COPY ./start.s ...
- Dockerfile centos7_php5.6.36
Dockerfile: FROM centos:7 MAINTAINER www.ctnrs.com RUN yum install epel-release -y && \ yum ...
- docker:Dockerfile构建LNMP平台
docker:Dockerfile构建LNMP平台 1.dockerfile介绍 Dockerfile是Docker用来构建镜像的文本文件,包含自定义的指令和格式.可以通过docker buil ...
- dockerfile构建nginx并结合php
转自:https://www.cnblogs.com/jsonhc/p/7799358.html 查看nginx和php的目录结构: [root@docker docker_demo]# tree n ...
- 10、Dockerfile实战-PHP
一.镜像制作步骤 安装编译依赖包 编译安装 配置 二.编写Dockerfile FROM centos:7 MAINTAINER QUNXUE RUN yum install -y gcc gcc-c ...
- dockerfile创建镜像及容器
第一步: 从王总git上:http://git.oursdata.com/wangyue/dockerfiles.git 进入下图的文件夹中 然后执行以下的说明执行步骤 第二步: 开发环境dock ...
- Docker实战(五)编写Dockerfile
一.创建Dockerfile文件 首先,需要创建一个目录来存放 Dockerfile 文件,目录名称可以任意,在目录里创建Dockerfile文件: 二.Dockerfile 基本框架 Dockerf ...
- Dockerfile分离构建LNMP环境部署wordpress
最近忙着写自己的项目,也把一个站点的bbs论坛打算迁移到Docker中,测试没发现啥大问题.在单台上面的架构如下:(往后我们也是要讲到compose和swarm调度的慢慢来) 1.首先我们先安装一下d ...
- 编写 Dockerfile 最佳实践
官方仓库虽然有数十万计的免费镜像,但大多数无法直接满足公司业务需求,这就需要我们自己去定制镜像了. Docker通过Dockerfile自动构建镜像,Dockerfile是一个包含用于组建镜像的文本文 ...
随机推荐
- php冒泡排序详解笔记
冒泡 /* * 冒泡排序(从小到大) * 介绍: * 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来. * 思路: * 比较相邻的元素.如果第一个比第二个大,就交换他 ...
- ssh: connect to host xx.xx.xxx.xxx port 22: Connection refused
执行 ssh root@47.94.142.215 报错 首先要开启ssh 系统偏好设置-共享 选上远程登陆 选上远程管理 检测openssh-server是否安装成功 ,安装成功的如下 ps -e ...
- HTTP 错误 500.19 - Internal Server Error 无法读取配置节 system.serviceModel 因为它缺少节声明
服务器环境:Windows Server2008 R2 Enterprise 配置 IIS 的时候报错. 错误信息: HTTP 错误 500.19 - Internal Server Error无法访 ...
- python nose测试框架全面介绍十二 ----用例执行顺序打乱
在实际执行自动化测试时,发现我们的用例在使用同一个资源的操作时,用例的执行顺序对测试结果有影响,在手工测试时是完全没法覆盖的. 但每一次都是按用例名字来执行,怎么打乱来执行的. 在网上看到一个有意思的 ...
- postgresql修改数据库编码
update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'your_database'; 先用 \e ...
- 类似于Mimikatz的Linux Hash Dump工具
项目主页 https://github.com/huntergregal/mimipenguin 需要root权限 支持 Kali 4.3.0 (rolling) x64 (gdm3) Ubuntu ...
- 21.react 组件通信
状态属性可以修改 this.setState()中可以写对象,也可以写方法 <script type="text/babel"> class Test extends ...
- 五子棋棋盘布局 table和ul哪个好
想要在页面布局以上棋盘,可以用ul li 布局,但却有明显的缺点: 1.两行两列:ul li 下面如果再放li 会出错,只能是放其他的,比如div. 或者放li *行*列: 但是这样有两个明显缺陷: ...
- socket与http
参考文档:http://blog.csdn.net/zeng622peng/article/details/5546384 1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可 ...
- linux主要目录
/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始 当在终端里输入 /home ,其实是在告诉电脑,先从 / (根目录)开始,再进入到 home 目录/ ...