本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Apache HTTP Server(简称Apache)是由Apache软件基金会开发的开源Web服务器,是互联网上使用最广泛的Web服务器之一。本Docker镜像封装了Apache HTTP Server,提供了便捷、隔离、可移植的部署方式,简化了Web服务器的搭建和管理流程。
作为Docker镜像,它继承了容器化的优势,包括环境一致性、快速部署、资源隔离等,适用于开发、测试和生产环境。
支持Linux、Windows、macOS等主流操作系统,可在任何支持Docker的环境中运行。
采用模块化设计,支持多种官方和第三方扩展模块(如mod_ssl、mod_proxy、mod_rewrite等),可按需启用功能,降低资源占用。
支持通过配置文件(httpd.conf、.htaccess)自定义服务器行为,包括虚拟主机、URL重写、访问控制等。
内置连接池、请求缓存、压缩传输等机制,可通过配置调整以适应不同负载场景。
提供SSL/TLS加密(需mod_ssl模块)、IP访问限制、用户认证等安全特性,保障Web服务安全。
支持访问日志(access.log)和错误日志(error.log)记录,便于问题排查和流量分析。
适用于纯静态内容(HTML、CSS、JavaScript、图片等)的网站部署,如企业官网、个人博客。
配合mod_proxy模块,可作为反向代理转发请求至后端应用服务器(如Tomcat、Node.js),实现负载均衡和请求过滤。
为Web开发提供一致的服务器环境,避免因本地环境差异导致的问题。
适合中小规模Web服务的生产部署,结合容器编排工具(如Docker Compose、Kubernetes)可实现高可用架构。
使用默认配置启动Apache服务器,默认监听80端口,文档根目录为容器内/usr/local/apache2/htdocs/:
docker run -d -p 80:80 --name my-apache httpd
访问 http://localhost 可查看默认欢迎页面。
若主机80端口被占用,可映射至其他端口(如8080):
docker run -d -p 8080:80 --name my-apache httpd
访问 http://localhost:8080 即可。
将本地网站文件目录挂载至容器文档根目录,实现自定义内容托管:
# 假设本地网站文件位于 ./my-website docker run -d -p 80:80 -v $(pwd)/my-website:/usr/local/apache2/htdocs/ --name my-apache httpd
替换默认配置文件(httpd.conf)以自定义服务器行为:
# 假设本地配置文件位于 ./my-httpd.conf docker run -d -p 80:80 -v $(pwd)/my-httpd.conf:/usr/local/apache2/conf/httpd.conf --name my-apache httpd
若需修改多个配置文件(如虚拟主机配置),可挂载整个配置目录:
docker run -d -p 80:80 \ -v $(pwd)/my-website:/usr/local/apache2/htdocs/ \ -v $(pwd)/my-apache-conf:/usr/local/apache2/conf/ \ --name my-apache httpd
创建 docker-compose.yml 文件,定义服务、网络和数据卷:
version: '3' services: apache: image: httpd container_name: my-apache ports: - "80:80" # HTTP端口 - "443:443" # 若启用HTTPS,需映射443端口 volumes: - ./website:/usr/local/apache2/htdocs/ # 网站文件 - ./conf:/usr/local/apache2/conf/ # 配置文件 - ./logs:/usr/local/apache2/logs/ # 日志文件(持久化) restart: always # 容器退出时自动重启
启动服务:
docker-compose up -d
部分Apache镜像支持通过环境变量自定义基础配置(具体变量需参考镜像文档,以下为常见示例):
| 环境变量 | 说明 | 默认值 |
|---|---|---|
APACHE_SERVER_NAME | 服务器名称(ServerName) | localhost |
APACHE_DOCUMENT_ROOT | 文档根目录(DocumentRoot) | /usr/local/apache2/htdocs |
APACHE_LOG_LEVEL | 日志级别(LogLevel) | warn |
示例:通过环境变量修改服务器名称和文档根目录
docker run -d -p 80:80 \ -e APACHE_SERVER_NAME="example.com" \ -e APACHE_DOCUMENT_ROOT="/usr/local/apache2/htdocs/site" \ -v $(pwd)/my-site:/usr/local/apache2/htdocs/site \ --name my-apache httpd
为避免容器删除导致数据丢失,建议将以下目录挂载至宿主机或数据卷:
/usr/local/apache2/htdocs/(核心内容)/usr/local/apache2/conf/(自定义配置)/usr/local/apache2/logs/(审计和排查问题)通过Docker命令查看容器日志:
# 访问日志 docker exec my-apache cat /usr/local/apache2/logs/access.log # 错误日志 docker exec my-apache cat /usr/local/apache2/logs/error.log # 实时查看日志 docker logs -f my-apache
# 停止容器 docker stop my-apache # 删除容器(需先停止) docker rm my-apache
www-data用户运行,UID/GID可能为33)。-p 8080:80)。httpd.conf中的LoadModule指令)。httpd:2.4),避免因最新版变更导致兼容性问题。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429