热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DockerFile部署lnmp+memcached+redis+mongodb开发环境forPHP(三)

本文源链接地址:https:www.93bok.com1、下载基础镜像centos2、查看一下大小

本文源链接地址:https://www.93bok.com

1、下载基础镜像centos
docker pull centos:6
2、查看一下大小
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              6                   70b5d81549ec        2 months ago        195MB
3、创建文件夹存放PHP的Dockerfile,以及源码包等等,为后期docker-compose做准备
mkdir -p /data/docker/lnmp-test/dockerfile/php
4、创建PHP的Dockerfile
vim /data/docker/lnmp-test/dockerfile/php/Dockerfile
FROM centos:6

LABEL maintainer="1012405802@qq.com" description="PHP image"

ENV PHP_VERSION 5.6.25

COPY extensions/ /root/extensions

RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 && yum install -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 && COnFIG="        --prefix=/usr/local/php         --with-config-file-path=/etc/php         --with-config-file-scan-dir=/etc/php/conf.d         --enable-fpm         --with-fpm-user=www         --with-fpm-group=www         --enable-short-tags         --enable-mbstring         --with-curl         --enable-sockets         --enable-zip         --enable-pcntl         --with-bz2         --enable-inline-optimization         --with-openssl         --with-mhash         --with-mcrypt         --enable-mbregex         --with-pcre-regex         --with-mysql=mysqlnd         --with-mysqli=mysqlnd         --with-pdo-mysql=mysqlnd         --with-gd         --with-jpeg-dir         --with-zlib         --with-png-dir         --disable-rpath         --enable-bcmath" && yum install -y                 gcc                 gcc-c++                 bison                 re2c                 libxml2-devel                 openssl-devel                 bzip2-devel                 libcurl-devel                 libjpeg-devel                 libpng-devel                 libmcrypt-devel                 unzip                 libmemcached-devel                 cyrus-sasl-devel                 ImageMagick-devel && groupadd www && useradd -s /sbin/nologin -M -g www www && tar -zxvf /root/extensions/php-$PHP_VERSION.tar.gz -C /root/extensions/ && cd /root/extensions/php-$PHP_VERSION && ./configure $CONFIG && make -j $(getconf _NPROCESSORS_ONLN) && make install && mkdir -p /etc/php/conf.d && cp /root/extensions/php-$PHP_VERSION/php.ini-development /etc/php/php.ini && cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf && sed -i ‘s|^;\?pid\s*=\s*\(.\+\)|pid = \1|g; s|^;\?listen\s*=\s*.\+|listen = 9000|g‘ /usr/local/php/etc/php-fpm.conf && sed -i ‘s|^;\?error_log\s*=\s*\(.\+\)|error_log = \1|g; s|^;\?daemonize\s*=\s*.\+|daemOnize= no|g‘ /usr/local/php/etc/php-fpm.conf && sed -i ‘s|^;\?slowlog\s*=\s*\(.\+\)|slowlog = \1|g; s|^;\?catch_workers_output\s*=\s*.\+|catch_workers_output = yes|g‘ /usr/local/php/etc/php-fpm.conf && ln -s /usr/local/php/bin/* /usr/local/bin/ && ln -s /usr/local/php/sbin/* /usr/local/sbin/ && cd /root/extensions/ && unzip igbinary-1.0.2.zip && cd igbinary-1.0.2 && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && tar -zxvf libmemcached-1.0.18.tar.gz && cd libmemcached-1.0.18 && ./configure --prefix=/usr/local/libmemcached && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && unzip php-memcached-2.2.0.zip && cd php-memcached-2.2.0 && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached/ && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && unzip cphalcon-3.0.3.zip && cd cphalcon-3.0.3/build/php5/64bits/ && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && unzip phpredis-2.2.8.zip && cd phpredis-2.2.8 && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && tar -zxvf imagick-3.1.1.tgz && cd imagick-3.1.1 && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/php-$PHP_VERSION/ext/bcmath/ && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && unzip apcu-4.0.8.zip && cd apcu-4.0.8 && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && cd /root/extensions/ && tar -zxvf mongodb-1.3.2.tgz && cd mongodb-1.3.2 && /usr/local/php/bin/phpize && ./configure --with-php-cOnfig=/usr/local/php/bin/php-config && make -j $(getconf _NPROCESSORS_ONLN) && make install && rm -rf /root/extensions/ && yum clean all

EXPOSE 9000

CMD ["/usr/local/php/sbin/php-fpm", "-F", "-c", "/etc/php/php.ini"]
5、把php源码包和扩展包上传到/data/docker/lnmp-test/dockerfile/php/目录下
6、创建镜像
cd /data/docker/lnmp-test/dockerfile/php/
docker build -t centos6:php .
7、查看镜像大小
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos6             php                 1d483171ba08        4 seconds ago       734MB
centos              6                   70b5d81549ec        2 months ago        195MB
8、启动容器测试是否成功
docker run -d -p 9000:9000 --name php centos6:php

技术分享图片

9、宿主机开启防火墙9000端口
firewall-cmd --add-port=9000/tcp --permanent
systemctl restart firewalld

DockerFile部署lnmp+memcached+redis+mongodb开发环境for PHP(三)


推荐阅读
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 探索AI智能机器人自动盈利系统的构建
    用户可通过支付198元押金及30元设备维护费租赁AI智能机器人,推荐他人加入可获得相应佣金。随着推荐人数的增加,用户将逐步解锁更高版本,享受更多收益。 ... [详细]
  • 嵌套列表的扁平化处理
    本文介绍了一种方法,用于遍历嵌套列表中的每个元素。如果元素是整数,则将其添加到结果数组中;如果元素是一个列表,则递归地遍历这个列表。此方法特别适用于处理复杂数据结构中的嵌套列表。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • 在编程实践中,正确管理和释放资源是非常重要的。本文将探讨 Python 中的 'with' 关键字及其背后的上下文管理器机制,以及它们如何帮助我们更安全、高效地管理资源。 ... [详细]
  • 材料光学属性集
    材料光学属性集概述了材料在不同光谱下的光学行为,包括可见光透射率、太阳光透射率等关键参数。 ... [详细]
  • 在 Django 模型中,ForeignKey 的 on_delete 参数定义了当关联对象被删除时,当前模型实例的行为。本文详细解释了 on_delete 的各个选项及其具体作用。 ... [详细]
  • 本文提供了《汇编语言 第3版》中检测点11.2的详细参考答案,包括了各指令执行后的状态标志分析。 ... [详细]
  • 题目编号:2049 [SDOI2008]Cave Exploration。题目描述了一种动态图操作场景,涉及三种基本操作:断开两个节点间的连接(destroy(a,b))、建立两个节点间的连接(connect(a,b))以及查询两节点是否连通(query(a,b))。所有操作均确保图中无环存在。 ... [详细]
  • 使用Echarts for Weixin 小程序实现中国地图及区域点击事件
    本文介绍了如何使用Echarts for Weixin在微信小程序中构建中国地图,并实现区域点击事件。包括效果展示、条件准备和逻辑实现的具体步骤。 ... [详细]
  • 本文介绍了一个使用mii-tool工具检查网络接口状态的Bash脚本,并将结果记录到日志文件中。 ... [详细]
author-avatar
wgsd325
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有