Как включить модуль mod_rewrite для docker официального изображения httpd? - PullRequest
0 голосов
/ 08 марта 2020

Я использую стек LAMP в docker с помощью docker -compose, а для веб-сервера я использую официальное изображение из 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

Я пытаюсь включить mod_rewrite с помощью команды \a2enmod 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 is сбой - из моего чтения он доступен только в системе debian, а базовый образ httpd его не имеет.

Как включить модуль mod_rewrite для этого docker официального образа httpd во время сборки?

1 Ответ

0 голосов
/ 09 марта 2020

В итоге я понял это. Мне пришлось включить модуль в файле apache .conf, добавив строку:

LoadModule rewrite_module modules/mod_rewrite.so
...