我有以下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-kerb模块添加到我的容器中。
基本映像是高山的,但wodby / apache继承自Debian的wodby / http。
以某种方式将模块安装在/ usr / lib / apache2下,但是wodby / apache中的apache似乎是从/ usr / local / apache2 / modules中加载其模块的。
我不认为解决方案是按cp或symlink移动模块吗?
以下是指向基本dockerfile的链接: https://github.com/wodby/httpd https://github.com/wodby/apache
如何确保将模块和配置放置在正确的位置?我认为问题可能出在二手Linux发行版之间。 有提示吗?
答案 0 :(得分:1)
docker-library/httpd(由Docker维护)支持基于高山和Debian的映像。
由于wodby / httpd是从docker-library / httpd派生的,因此您可以看到与Debian相关的Dockerfile文件,但根据README.md文件,它们仅支持基于高山的映像。
甚至woby / apache的图片都是基于高山的。
对于模块,您可以创建如下所示的conf文件
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)