暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

构建apache+php5.6镜像

812

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


        【图】来源于网络

        【文】https://hongzx.cn/home/blogShow/253

        Follow

        佛布朗斯基博客

        (佛布朗斯基)我是一只热爱编程的码农,已从事后端开发5年以上,也正因此,在日常工作学习中,会遇到蛮多问题需要解决,我希望透过记录,真实地将问题以及解决方法保存下来,更为高效地解决问题是我的初衷。


         

        文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论