Docker
构建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条评论