如何为docker官方httpd映像启用mod_rewrite模块?

时间:2020-03-08 20:43:46

标签: apache docker mod-rewrite build

我正在docker-compose的帮助下在docker中运行LAMP堆栈,对于Web服务器,我正在使用https://hub.docker.com/_/httpd中的官方映像。 httpd容器由Dockerfile创建:

ARG APACHE_VERSION
FROM httpd:$APACHE_VERSION
RUN apt-get update;\apt-get upgrade;\a2enmod rewrite
COPY demo.apache.conf /usr/local/apache2/conf/demo.apache.conf
RUN echo "Include /usr/local/apache2/conf/demo.apache.conf" \
    >> /usr/local/apache2/conf/httpd.conf

我正在尝试使用\a2enmod rewrite命令启用mod_rewrite,但是在构建过程中出现以下错误:

/bin/sh: 1: a2enmod: not found
ERROR: Service 'apache' failed to build: The command '/bin/sh -c apt-get update;\apt-get upgrade;\a2enmod rewrite' returned a non-zero code: 127

a2enmod失败-从我的阅读中来看,它仅在debian系统中可用,而httpd基本映像没有它。

在构建过程中如何为该docker官方httpd映像启用mod_rewrite模块?

1 个答案:

答案 0 :(得分:0)

我最终弄清楚了。我必须通过添加以下行来启用apache .conf文件中的模块:

LoadModule rewrite_module modules/mod_rewrite.so