
i386/httpd本仓库是 官方 httpd 镜像 的 i386 架构专用构建版本。更多信息请参见官方镜像文档中的 "非 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, trixie2.4.65-alpine, 2.4-alpine, 2-alpine, alpine, 2.4.65-alpine3.22, 2.4-alpine3.22, 2-alpine3.22, alpine3.22amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le、riscv64、s390xrepos/httpd/ 目录(历史记录)(包含镜像元数据、传输大小等)library/httpd 标签、official-images 仓库的 library/httpd 文件(历史记录)httpd/ 目录(历史记录)Apache HTTP Server(简称 Apache 或 httpd)是一款广泛使用的 Web 服务器应用程序,在万维网的早期发展中发挥了关键作用。其最初基于 NCSA HTTPd 服务器开发,1995 年初 NCSA 代码开发停滞之后,Apache 的开发工作启动。Apache 迅速超越 NCSA HTTPd 成为主流 HTTP 服务器,并自 1996 年 4 月起一直是使用最广泛的 HTTP 服务器。
!logo
主要用途:
-alpine 标签版本,镜像体积显著减小(约 5MB 基础镜像),适合资源受限场景。在项目中创建 Dockerfile:
dockerfileFROM i386/httpd:2.4 COPY ./public-html/ /usr/local/apache2/htdocs/
(其中 public-html/ 为项目中存放 HTML 文件的目录)
构建并运行镜像:
console$ docker build -t my-apache2 . $ docker run -dit --name my-running-app -p 8080:80 my-apache2
访问 http://localhost:8080,将显示默认页面或自定义的静态内容。
通过挂载本地目录到容器内 Web 根目录,无需编写 Dockerfile:
console$ docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ i386/httpd:2.4
("$PWD" 为当前工作目录,需包含待托管的 HTML 文件)
创建 docker-compose.yml 文件:
yamlversion: '3' services: httpd: image: i386/httpd:2.4 container_name: my-apache-service ports: - "8080:80" # 映射 HTTP 端口 # - "443:443" # 如需 HTTPS,取消注释并映射 443 端口 volumes: - ./public-html:/usr/local/apache2/htdocs # 挂载静态文件目录 # - ./my-httpd.conf:/usr/local/apache2/conf/httpd.conf # 如需自定义配置,取消注释并挂载配置文件 restart: unless-stopped # 容器退出时自动重启(非手动停止除外)
启动服务:
console$ docker-compose up -d
如需修改 Apache 配置,先从容器中提取默认配置:
console$ docker run --rm i386/httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > my-httpd.conf
通过 Dockerfile 复制自定义配置:
dockerfileFROM i386/httpd:2.4 COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf # 替换默认配置
或通过运行时挂载配置文件:
console$ docker run -dit --name my-custom-apache -p 8080:80 -v "$PWD/my-httpd.conf":/usr/local/apache2/conf/httpd.conf i386/httpd:2.4
准备证书文件:将 server.crt(证书)和 server.key(私钥)放置在本地目录(如 ./ssl/)。
修改配置启用 SSL 模块:
编辑自定义配置文件 my-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
通过 Dockerfile 自动启用 SSL(可选):
dockerfileFROM i386/httpd:2.4 # 启用 SSL 模块并包含 SSL 配置 RUN 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 # 复制证书文件 COPY ./ssl/server.crt /usr/local/apache2/conf/ COPY ./ssl/server.key /usr/local/apache2/conf/
运行容器并映射 443 端口:
console$ docker run -dit --name my-ssl-apache -p 8080:80 -p 443:443 my-ssl-apache-image
i386/httpd 镜像提供多种标签变体,适用于不同场景:
i386/httpd:<version>(如 2.4.65, 2.4, latest)trixie 对应 Debian 发行版代号)。i386/httpd:<version>-alpine(如 2.4.65-alpine, alpine)bash、git 等工具,需通过 apk add 手动安装。本镜像包含的软件许可证信息请参见 Apache 官方许可证页面。
与所有 Docker 镜像一样,本镜像可能包含其他软件(如基础系统的 Bash 等),这些软件可能具有各自的许可证。
部分自动检测到的额外许可证信息可在 repo-info 仓库的 httpd/ 目录 中找到。
对于任何预构建镜像的使用,镜像用户有责任确保其使用行为符合镜像内所有软件的相关许可证要求。

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