Docker httpd apache并获取cgi bin以执行perl脚本

Docker httpd apache并获取cgi bin以执行perl脚本,apache,docker,perl,Apache,Docker,Perl,Docker新手,试图让cgi bin在httpd映像中工作。我的文件如下。SED行将perl位置添加到图像附带的示例脚本的第一行: FROM httpd:2.4.46 RUN sed -i '1c#!/usr/bin/perl' /usr/local/apache2/cgi-bin/printenv 然后,我构建并运行: docker build -t my-apache2 . docker run -dit --name my-running-app -p 8080:80 my-apach

Docker新手,试图让cgi bin在httpd映像中工作。我的文件如下。SED行将perl位置添加到图像附带的示例脚本的第一行:

FROM httpd:2.4.46
RUN sed -i '1c#!/usr/bin/perl' /usr/local/apache2/cgi-bin/printenv
然后,我构建并运行:

docker build -t my-apache2 .
docker run -dit --name my-running-app -p 8080:80 my-apache2

然后,我导航到
localhost:8080/cgi-bin/printenv
,但是我没有执行脚本,而是将代码显示为文本。默认情况下,httpd映像似乎启用了ScriptAlias。有什么想法吗?

您还需要启用
mod\u cgid

FROM httpd:2.4.46
RUN sed -i '1c#!/usr/bin/perl' /usr/local/apache2/cgi-bin/printenv
RUN chmod +x /usr/local/apache2/cgi-bin/printenv
CMD httpd-foreground -c "LoadModule cgid_module modules/mod_cgid.so"

谢谢你的帮助。ApacheHowto指南()确实描述了这一需求,但遗憾的是,我完全忽略了它:(