构建Apache+php7.4镜像

构建Apache+php7.4镜像

       最近接了一个单,项目是Thinkphp6.0二开,为了方便本地调试部署,直接使用apache,而不使用Nginx,于是决定弄一个php7.4+Apache镜像,方便后面开发使用,下面跟大家分享构建镜像配置

FROM php:7.4-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

# 安装zip扩展所需的依赖扩展
RUN apt-get install -y zlib1g-dev
RUN apt-get install -y libzip-dev

# 安装GD
RUN apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev
RUN docker-php-source extract
RUN cd /usr/src/php/ext/gd
RUN docker-php-ext-configure gd --with-webp=/usr/include/webp --with-jpeg=/usr/include --with-freetype=/usr/include/freetype2/
RUN docker-php-ext-install gd

构建过程我们设置了当前时区,以及修改apache配置,防止后面访问页面的时候出现以下错误

apache The requested URL was not found on this server.

这也是我为什么要自己重新构建一个镜像,而不是直接拿官方镜像进行使用,可以省得启动容器时候去修改配置。

       由于默认镜像php是不带pdo_mysql扩展,所以这里我们也把扩展装上,然后我们可以执行以下命令生成镜像

docker build -t hongzhuangxian/php7.4-apache .

       生成完成后,可以推送到docker hub镜像仓库

docker push hongzhuangxian/php7.4-apache

这样我们就成功构建一个适合我们使用的php7.4+apache镜像。

1条评论

  • 真不错 2022-10-10 16:54:02

    杠杠滴

    回复
    • 佛布朗斯基 【回复】 真不错 2022-10-10 17:01:42

      欢迎欢迎~

      回复

发表评论