Как установить модуль Apache в Docker-контейнер в правильном месте - PullRequest
0 голосов
/ 15 марта 2019

У меня есть следующий файл Docker:

FROM wodby/apache:2.4
MAINTAINER NAME EMAIL
ENV http_proxy 'http://xxx.xxx.xxx.de:80'
ENV https_proxy 'http://xxx.xxx.xxx.xxx:80'
ENV APP_ROOT="/var/www/html" \
    APACHE_DIR="/usr/local/apache2"

WORKDIR /usr/local/apache2

USER root
RUN ls


RUN set -x \
    && apk add apache-mod-auth-kerb


CMD ["tail", "-f", "/dev/null"]

Я собираюсь добавить модуль apache-mod-auth-curb в мой контейнер.
Базовое изображение является alpine, но wodby / apache наследуется отwodby / http, который является Debian.

Каким-то образом модуль установлен в / usr / lib / apache2, но apache в wodby / apache, похоже, загружает свои модули из /usr/local/apache2/modules.

Я нея думаю, что решение состоит в том, чтобы переместить модуль на cp или символическую ссылку?

Вот ссылки на базовые файлы Docker: https://github.com/wodby/httpd https://github.com/wodby/apache

Как я могу убедиться, чтомодуль и конфиг находятся в правильном месте?Я думаю, что проблема может заключаться в разнице между используемыми дистрибутивами Linux.Есть намеки?

1 Ответ

1 голос
/ 15 марта 2019

docker-library / httpd (поддерживается Docker) поддерживает изображения на основе альпийских и Debian.

Так как wodby / httpd разветвляется из docker-library / httpd, вы можете видеть файлы Dockerfile, связанные с Debian, но они поддерживают только альпийские изображения, как в файле README.md.

Даже изображения woby / apache являются альпийскими.

Для модулей вы можете создать файл конфигурации, как показано ниже

mod_auth_kerb.conf

LoadModule auth_kerb_module /usr/lib/apache2/mod_auth_kerb.so

Dockerfile

FROM wodby/apache:2.4
MAINTAINER NAME EMAIL
ENV http_proxy 'http://xxx.xxx.xxx.de:80'
ENV https_proxy 'http://xxx.xxx.xxx.xxx:80'
ENV APP_ROOT="/var/www/html" \
    APACHE_DIR="/usr/local/apache2"

WORKDIR /usr/local/apache2

USER root
RUN ls


RUN set -x \
    && apk add apache-mod-auth-kerb

COPY mod_auth_kerb.conf /usr/local/apache2/conf/conf.d/mod_auth_kerb.conf

Вы можете проверить их

bash-4.4# httpd -M | grep auth_kerb_module
   auth_kerb_module (shared)
...