Dockerfile构建php镜像

摘要:
简要介绍Dockerfile:FROMcentros:7意味着图像依赖于centos:7版本。如果没有相应的图像,将自动拉出最新的中心。图像RUNYUM-YINSTALLlibxml2表示执行命令。ENV表示构建图像过程中的环境变量。ENTRYPOINT表示执行CMD命令,例如,execute nginx:ENTRYPOINT[“nginx”,“-g”,”daemooff;“]。在解释了基本命令之后,让我们构建php环境的映像。

简单介绍一下Dockerfile:

FROM centos:7 表示依赖centos:7版本的镜像,如果没有对应的镜像,会自动拉去最新的cenos:7镜像

RUN yum -y install libxml2 表示执行某一条命令

ENV 表示构建镜像过程中的环境变量,执行的时候可用

ENTRYPOINT 表示类似CMD命令,执行某条指令,比如执行nginx:ENTRYPOINT  [ "nginx", "-g", "daemon off;" ]

好了解释完了基本命令,现在来构建一个php环境的镜像。

创建Dockerfile文件,输入以下内容:

FROM centos:7 

ENV PHP_INI_DIR /usr/local/php/etc

RUN yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libzip-devel pcre-devel

RUN yum install -y https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-6.8.2-1.el7.x86_64.rpm
RUN yum install -y https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-devel-6.8.2-1.el7.x86_64.rpm

RUN cd /tmp
RUN wget wget https://www.php.net/distributions/php-7.4.7.tar.xz && xz -d php-7.4.7.tar.xz && tar -xvf php-7.4.7.tar

RUN ./configure 
    --with-config-file-path="$PHP_INI_DIR" 
    --with-pear --enable-bcmath --with-curl --enable-gd --with-libdir=lib64 --with-bz2 --with-zlib --enable-soap --enable-sockets --with-mysqli --with-pdo-mysql  --with-curl --enable-fpm --enable-mbstring --enable-sockets --enable-gd --with-openssl


RUN make && make install

RUN cp /tmp/php-7.4.7/php.ini-production /usr/local/php/etc/php.ini
# 如有需要可以打开
# RUN cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# RUN cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

RUN sed -i "s/memory_limit = 128M/memory_limit = 1024M/g" /usr/local/php/etc/php.ini 

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" &&
php composer-setup.php &&
php -r
"unlink('composer-setup.php');" &&
mv composer.phar /usr/local/bin/composer &&
composer config -g repo.packagist composer https:
//mirrors.aliyun.com/composer

RUN pecl channel-update pecl.php.net

RUN pecl install -o -f redis && echo extension=redis.so >> /usr/local/php/etc/php.ini
ENTRYPOINT [] 

WORKDIR /workdir

进入Dockerfile目录,执行docker build . 

等待镜像构建,至此,php环境的镜像就完成了

免责声明:文章转载自《Dockerfile构建php镜像》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇xml之dom4j解析夺命雷公狗---node.js---9实现页面的跳转下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker环境中安装node、pm2,映射项目文件守护程序

1.docker安装完成后,获取对应版本,可自定义node版本,默认为最新版本。 git pull node:<version> 2.编写Dockerfile,在文件中添加安装pm2命令。建议新建一个单独docker的文件,文件中存放Dockerfile,否则在build镜像的时候会将整个目录下的文件都发送至docker。 FROM node...

【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件

概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像、上传镜像、并生成镜像的压缩文件; Dockerfile FROM 10.254.9.21/library/oraclejdk:0.0.1 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/loca...

【转】预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法

【转】预装Win8/8.1 中文版系统升级为专业版或专业版含媒体中心版的简单方法 原文地址:http://www.iruanmi.com/upgrade-win8-china-to-a-higher-edition/ 现在市不少品牌机都已经预装了最新的Windows 8/8.1 操作系统。在中国,购买预装Win8的电脑预装的基本上都是“Windows 8...

centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课

centos  LNMP第一部分环境搭建 LAMP安装先后顺序  LNMP安装先后顺序 php安装 安装nginx  编写nginx启动脚本   懒汉模式  mv   /usr/local/php/{p.conf.default,p.conf}  php运行方式SAPI介绍  第二十三节课 推荐搜狐下载地址:http://mirrors.sohu.com/...

接口中转stream传输 request/response

php实现 CURLOPT_WRITEFUNCTION: for response ,把接口返回的结果拿回来,会进行多次回调,直到接口中的内容全部读完CURLOPT_READFUNCTION :for request ,把要请求接口的参数数据写出去 CURLOPT_READFUNCTION 回调函数名。该函数应接受三个参数。第一个是 cU...

实战利用LVM卷镜像技术实现不停业务的数据在线迁移,核心存储升级混闪V7000F 转

实战利用LVM卷镜像技术实现不停业务的数据在线迁移,核心存储升级混闪V7000F 一、介绍 所有数据从旧设备到新设备实现了高速在线迁移,业务系统进行了无缝衔接。整个迁移、切换过程关键设备零重启,对用户正常操作ERP画面未造成任何影响。 二、目的和意义 存储设备运行更加稳定 新的IBM V7000存储(2076-624)属于V7000系列的第三代产品,201...