arm32v7/httpd注意:这是 httpd 官方镜像 的 arm32v7 架构专用仓库。更多信息请参见官方镜像文档中的“非 amd64 架构?”以及官方镜像 FAQ 中的“镜像源在 Git 中已更改,该怎么办?”。
维护者: Docker 社区
获取帮助: Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
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
问题反馈地址: [***]
支持的架构:(更多信息)
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,但可轻松扩展。如需带有 Apache httpd 的 PHP 环境,请参见 PHP 镜像 并查看 -apache 标签。若要运行简单的 HTML 服务器,可在项目中添加一个简单的 Dockerfile,其中 public-html/ 是包含所有 HTML 文件的目录。
DockerfiledockerfileFROM arm32v7/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/ arm32v7/httpd:2.4
要自定义 httpd 服务器配置,首先从容器中获取上游默认配置:
console$ docker run --rm arm32v7/httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > my-httpd.conf
然后可通过 COPY 将自定义配置文件作为 /usr/local/apache2/conf/httpd.conf 复制到镜像中:
dockerfileFROM arm32v7/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。
arm32v7/httpd 镜像提供多种版本,适用于不同使用场景。
arm32v7/httpd:<version>这是默认镜像。若不确定需求,建议使用此版本。它既可作为临时容器(挂载源代码并启动容器运行应用),也可作为构建其他镜像的基础。
部分标签可能包含 trixie 等名称,这些是 Debian 的发行版代号,表示镜像基于该 Debian 版本构建。若镜像需安装基础镜像之外的额外软件包,建议显式指定此类标签,以减少 Debian 新版本发布时可能出现的兼容性问题。
arm32v7/httpd:<version>-alpine此镜像基于流行的 Alpine Linux 项目(可在 alpine 官方镜像 中获取)构建。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此通常能生成更精简的镜像。
当最终镜像大小是首要考虑因素时,此变体非常有用。需要注意的是,它使用 musl libc 而非 glibc 及相关库,因此软件可能因对 libc 的依赖或假设不同而遇到问题。更多关于使用 Alpine 基础镜像可能遇到的问题及优缺点对比,请参见 此 Hacker News 评论线程。
为最小化镜像大小,Alpine 基础镜像通常不包含额外相关工具(如 git 或 bash)。若以此镜像为基础,可在自己的 Dockerfile 中添加所需工具(若不熟悉如何安装软件包,参见 alpine 镜像描述 中的示例)。
查看此镜像中包含软件的 许可信息。
与所有 Docker 镜像一样,此镜像可能还包含其他软件,这些软件可能采用其他许可(如基础发行版中的 Bash 等,以及主要软件的任何直接或间接依赖项)。
部分可自动检测的额外许可信息可能位于 repo-info 仓库的 httpd/ 目录。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用均符合其中包含的所有软件的相关许可。

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