构建apache+php5.6镜像

构建apache+php5.6镜像

       最近遇到一个老项目,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

# 安装GD
RUN cd /usr/src/php/ext/gd
RUN docker-php-ext-install gd

# 安装Redis扩展
RUN pecl install redis-4.3.0 && docker-php-ext-enable redis

# 安装msgpack
RUN 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 hub上,这样我们下次使用直接从上面拉取就可以

docker push hongzhuangxian/php5.6-apache .

这样我们便构建了一个php:5.6-apache镜像。

0条评论

发表评论