amd64/httpd 镜像是 Apache HTTP Server(简称 Apache)的官方 Docker 镜像,专为 amd64 架构构建。Apache 是一款广泛使用的 Web 服务器应用,在万维网发展初期发挥了关键作用,自 1996 年 4 月起一直是最流行的 HTTP 服务器之一。该镜像提供了轻量级、可移植的 Apache 运行环境,适用于快速部署静态或动态 Web 服务。
以下标签对应不同版本和基础镜像,链接指向对应的 Dockerfile 源码:
Debian 基础镜像:
https://github.com/docker-library/httpd/blob/684a447a23a8035356d5cce42e1f85212cfd39a3/2.4/Dockerfile
Alpine 基础镜像:
https://github.com/docker-library/httpd/blob/42b1c8997488557ae90e80ff64a90830b1563d75/2.4/alpine/Dockerfile
该镜像支持多种硬件架构,对应不同 Docker 仓库:
https://hub.docker.com/r/amd64/httpd/%E3%80%81https://hub.docker.com/r/arm32v5/httpd/%E3%80%81https://hub.docker.com/r/arm32v6/httpd/%E3%80%81https://hub.docker.com/r/arm32v7/httpd/%E3%80%81https://hub.docker.com/r/arm64v8/httpd/%E3%80%81https://hub.docker.com/r/i386/httpd/%E3%80%81https://hub.docker.com/r/ppc64le/httpd/%E3%80%81https://hub.docker.com/r/riscv64/httpd/%E3%80%81https://hub.docker.com/r/s390x/httpd/
适用于需要预先打包静态资源或自定义配置的场景。
步骤:
在项目根目录创建 Dockerfile:
dockerfileFROM amd64/httpd:2.4 # 将本地静态资源目录复制到 Apache 文档根目录 COPY ./public-html/ /usr/local/apache2/htdocs/
注:
public-html/为本地存放 HTML 文件的目录,需替换为实际路径。
构建并运行镜像:
bash# 构建镜像(标签为 my-apache2) docker build -t my-apache2 . # 后台运行容器(映射主机 8080 端口到容器 80 端口) docker run -dit --name my-running-app -p 8080:80 my-apache2
验证:访问 http://localhost:8080,显示 "It works!" 或自定义页面。
适用于临时测试或快速挂载本地目录的场景。
直接通过 docker run 命令挂载本地目录到容器的文档根目录:
bashdocker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ amd64/httpd:2.4
说明:
-v "$PWD":/usr/local/apache2/htdocs/将当前目录($PWD)挂载到容器内的 Apache 文档根目录,修改本地文件后无需重建镜像即可生效。
Apache 配置文件路径为 /usr/local/apache2/conf/httpd.conf,可通过以下步骤自定义:
步骤:
从容器中导出默认配置文件:
bashdocker run --rm amd64/httpd:2.4 cat /usr/local/apache2/conf/httpd.conf > my-httpd.conf
编辑 my-httpd.conf 修改配置(如端口、虚拟主机、模块加载等)。
通过 Dockerfile 覆盖默认配置:
dockerfileFROM amd64/httpd:2.4 COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf
构建并运行:
bashdocker build -t my-custom-apache . docker run -dit --name my-custom-app -p 8080:80 my-custom-apache
实现 HTTPS 需加载 SSL 模块并配置证书,步骤如下:
步骤:
准备 SSL 证书文件(server.crt 公钥和 server.key 私钥),放置于本地目录(如 ./ssl/)。
修改 Apache 配置文件,启用 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 复制证书和配置:
dockerfileFROM amd64/httpd:2.4 # 复制自定义配置 COPY ./my-httpd.conf /usr/local/apache2/conf/httpd.conf # 复制 SSL 证书和密钥 COPY ./ssl/server.crt /usr/local/apache2/conf/ COPY ./ssl/server.key /usr/local/apache2/conf/
或通过 sed 命令在构建时修改默认配置(无需手动编辑文件):
dockerfileFROM amd64/httpd:2.4 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/
运行容器时映射 HTTPS 端口(443):
bashdocker run -dit --name my-ssl-app -p 8080:80 -p 443:443 my-ssl-apache
验证:访问 https://localhost,浏览器显示证书信息及页面内容。
amd64/httpd 提供两种基础镜像变体,适用于不同需求:
标签格式:amd64/httpd:<version>(如 2.4.65、latest)。
trixie 版本),包含完整的系统工具链。apt 包)的场景。标签格式:amd64/httpd:<version>-alpine(如 2.4.65-alpine、alpine)。
musl libc 替代 glibc。glibc 的软件可能存在兼容性问题,需测试验证。镜像元数据及构建信息可在 https://github.com/docker-library/repo-info/blob/master/repos/httpd 查看。
以下是 amd64/httpd 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务