最近遇到一个老项目,PHP版本是5.6,上回我们构建了一个php7.4+apache的镜像不能用,所以我重新打包了一个php5.6+apache的镜像来运行这个古老项目,下面跟大家分享镜像构建过程,配置如下
FROM php:5.6-apache# 作者LABEL MAINTAINER="hzx790254812@gmail.com"# 时区ENV TZ "Asia/Shanghai"RUN echo ${TZ} >/etc/timezone#配置apache配置RUN ln -s etc/apache2/mods-available/rewrite.load etc/apache2/mods-enabled/rewrite.load \&& sed -i 's/AllowOverride None/AllowOverride All/g' etc/apache2/apache2.conf# 安装postgresql扩展RUN apt-get update && apt-get install -y libpq-dev \&& docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \&& docker-php-ext-install pdo pdo_pgsql# 安装mysql扩展RUN docker-php-ext-install pdo pdo_mysql mysqli# 安装各种库RUN apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev && docker-php-source extract# 安装GDRUN cd /usr/src/php/ext/gdRUN docker-php-ext-install gd# 安装Redis扩展RUN pecl install redis-4.3.0 && docker-php-ext-enable redis# 安装msgpackRUN pecl install channel://pecl.php.net/msgpack-0.5.7 && echo "extension=msgpack.so" > /usr/local/etc/php/conf.d/msgpack.ini
基本构建过程跟上次操作一样,这次我们是以php:5.6-apache作为基础镜像,分别提前安装我们所需的各种扩展,默认基础镜像是没有这些扩展,需要我们提前安装或者运行之后进到容器进行安装,所以我们直接提前安装,我这里只安装了我所需的几个扩展,类型gd、redis、mysql、msgpack。
docker build -t hongzhuangxian/php5.6-apache .
docker push hongzhuangxian/php5.6-apache .
这样我们便构建了一个php:5.6-apache镜像。
文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





