我创建了一个内部包含Apache的docker映像。我有一个问题(我认为),它是apache模块的路径,我在libexec内部的模块中有一个错误
dockerfile
FROM httpd:2.4
COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf
COPY ./libexec /libexec/apache2/
COPY ./public/ /usr/local/apache2/htdocs/
但是当我运行docker build -t web_admin .
时,出现此错误:
httpd: Syntax error on line 72 of /usr/local/apache2/conf/httpd.conf: Cannot load libexec/apache2/apache2/mod_authn_file.so into server: /libexec/apache2/apache2/mod_authn_file.so: invalid ELF header
这只是我的httpd.conf
文件的一小部分
ServerRoot "/"
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
LoadModule authn_file_module libexec/apache2/apache2/mod_authn_file.so
LoadModule authn_core_module libexec/apache2/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/apache2/mod_authz_host.so
# other modules
# other confs
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
MultiViews
Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride None
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
答案 0 :(得分:0)
如果该模块是为除docker映像以外的其他体系结构/平台/操作系统构建的,则可能会发生这种情况。