Docker
构建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镜像。
杠杠滴
回复欢迎欢迎~
回复