

最近接了一个单,项目是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# 安装各种库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
构建过程我们设置了当前时区,以及修改apache配置,防止后面访问页面的时候出现以下错误
apache The requested URL was not found on this server.
这也是我为什么要自己重新构建一个镜像,而不是直接拿官方镜像进行使用,可以省得启动容器时候去修改配置。
由于默认镜像php是不带pdo_mysql以及gd扩展,所以这里我们也把扩展装上,然后我们可以执行以下命令生成镜像
docker build -t hongzhuangxian/php7.4-apache .
生成完成后,可以推送到docker hub镜像仓库
docker push hongzhuangxian/php7.4-apache
这样我们就成功构建一个适合我们使用的php7.4+apache镜像。
文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





