Dockerfile:
FROM httpd:2.4.41
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
COPY ./key.pem /usr/local/apache2/conf/server.key
COPY ./cert.pem /usr/local/apache2/conf/server.crt
COPY ./sites.conf /usr/local/apache2/conf/extra/httpd-vhosts.conf
由于某些原因,如果添加自己的httpd.conf,则会收到以下错误:
docker run -p 80:80 -p 443:443 test1
AH00534: httpd: Configuration error: No MPM loaded.
奇怪的是,
my-httpd.conf
使用以下命令直接来自图像本身(未修改):docker run --rm httpd:2.4.41 cat /usr/local/apache2/conf/httpd.conf > my-httpd.conf
据我所知,我正在使用一个精确的副本覆盖默认的httpd.conf。
万一有任何疑问,如果我的Dockerfile中没有
COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
,则该镜像可以正常运行。这怎么可能?
最佳答案
您应该检查LoadModule mpm_event_module modules/mod_mpm_event.so
文件中是否未注释httpd.conf
。如果是这样,则应将httpd.conf
从UTF-16格式转换为UTF-8格式。
关于apache - Docker httpd:配置错误:未加载MPM-仅在使用非默认httpd.conf时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60215357/