s390x/httpd注意:这是httpd官方镜像的s390x架构"每个架构"仓库——更多信息请参见官方镜像文档中的"非amd64架构?"和官方镜像FAQ中的"镜像源在Git中更改后怎么办?"。
维护者:
Docker社区
获取帮助的地方:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接2.4.65, 2.4, 2, latest, 2.4.65-trixie, 2.4-trixie, 2-trixie, trixie
2.4.65-alpine, 2.4-alpine, 2-alpine, alpine, 2.4.65-alpine3.22, 2.4-alpine3.22, 2-alpine3.22, alpine3.22
提交issue的地方:
[***]
支持的架构:(更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390x
已发布镜像制品详情:
repo-info仓库的repos/httpd/目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/httpd标签
official-images仓库的library/httpd文件(历史记录)
本描述的来源:
docs仓库的httpd/目录(历史记录)
Apache HTTP Server(俗称Apache)是一款Web服务器应用,因在万维网初期发展中发挥关键作用而闻名。它最初基于NCSA HTTPd服务器,1995年初NCSA代码开发停滞后续开始Apache的开发。Apache迅速取代NCSA HTTPd成为主流HTTP服务器,自1996年4月起一直是使用最广泛的HTTP服务器。
***.org/wiki/Apache_HTTP_Server
!logo
本镜像仅包含Apache httpd及上游默认配置,未安装PHP,但易于扩展。若需PHP与Apache httpd配合使用,可参见PHP镜像的-apache标签。若需运行简单HTML服务器,可在项目中添加简单Dockerfile,其中public-html/为包含所有HTML文件的目录。
DockerfiledockerfileFROM s390x/httpd:2.4 COPY ./public-html/ /usr/local/apache2/htdocs/
然后运行以下命令构建并运行Docker镜像:
console$ docker build -t my-apache2 . $ docker run -dit --name my-running-app -p 8080:80 my-apache2
访问http://localhost:8080,将看到"It works!"。
Dockerfile若不想在项目中包含Dockerfile,可直接运行:
console$ docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ s390x/httpd:2.4
要自定义httpd服务器配置,首先从容器中获取上游默认配置:
console$ docker run --rm s390x/httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > my-httpd.conf
然后可通过COPY将自定义配置作为/usr/local/apache2/conf/httpd.conf添加到镜像中:
dockerfileFROM s390x/httpd:2.4 COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
若需通过SSL运行Web服务,最简单的设置是将server.crt和server.key COPY或挂载(-v)到/usr/local/apache2/conf/,然后修改/usr/local/apache2/conf/httpd.conf,移除以下行的注释符号:
apacheconf... #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so ... #LoadModule ssl_module modules/mod_ssl.so ... #Include conf/extra/httpd-ssl.conf ...
conf/extra/httpd-ssl.conf配置文件将使用已添加的证书文件,并让守护进程监听443端口。确保在docker run中添加-p 443:443以转发HTTPS端口。
可通过以下sed命令实现:
dockerfileRUN sed -i \ -e 's/^#\(Include .*httpd-ssl.conf\)/\1/' \ -e 's/^#\(LoadModule .*mod_ssl.so\)/\1/' \ -e 's/^#\(LoadModule .*mod_socache_shmcb.so\)/\1/' \ conf/httpd.conf
上述步骤适用于开发环境,生产环境建议自定义配置文件,更多SSL设置信息参见httpd.apache.org。
s390x/httpd镜像有多种版本,适用于不同场景。
s390x/httpd:<version>这是默认镜像。若不确定需求,建议使用此版本。它既可作为临时容器(挂载源代码并启动容器运行应用),也可作为构建其他镜像的基础。
部分标签可能包含如trixie的名称,这些是Debian的发行版代号,表示镜像基于该Debian版本。若镜像需安装额外包,建议显式指定这些代号以减少Debian新版本带来的中断。
s390x/httpd:<version>-alpine此镜像基于流行的Alpine Linux项目(可在alpine官方镜像中获取)。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此生成的镜像通常更精简。
当最终镜像大小是首要考虑因素时,此变体非常有用。需注意它使用musl libc而非glibc及相关库,因此软件可能因libc需求/假设不同而出现问题。更多相关讨论参见此Hacker News评论线程。
为最小化镜像大小,Alpine-based镜像通常不包含额外相关工具(如git或bash)。如需添加,可在自己的Dockerfile中基于此镜像进行(不熟悉如何安装包可参见alpine镜像描述中的示例)。
查看本镜像包含软件的许可信息。
与所有Docker镜像一样,本镜像可能还包含其他软件,这些软件可能采用其他许可(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖)。
部分可自动检测的额外许可信息可能位于repo-info仓库的httpd/目录中。
对于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用符合其中包含的所有软件的相关许可。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务