
本镜像基于 Apache HTTP Server 构建,定位为轻量级网关应用,旨在提供高性能、可扩展的 HTTP/HTTPS 流量管理能力。主要用途包括反向代理、负载均衡、API 路由、SSL/TLS 终止及流量控制,适用于多服务架构下的统一入口管理场景。
mod_proxy、mod_ssl、mod_rewrite 等)。docker run)4.1.1 快速启动(默认配置)
默认配置启用反向代理至示例后端服务,可直接运行:
bashdocker run -d -p 80:80 --name apache-gateway apache-gateway:latest
4.1.2 自定义端口和后端服务
通过环境变量指定端口及后端服务地址:
bashdocker run -d \ -p 8080:80 \ # 映射容器 80 端口至主机 8080 -e HTTP_PORT=80 \ # 容器内 HTTP 服务端口(默认 80) -e BACKEND_SERVICE_URL=http://backend-service:8080 \ # 后端服务地址 --name apache-gateway \ apache-gateway:latest
适用于多服务协同部署场景,示例 docker-compose.yml:
yamlversion: '3.8' services: apache-gateway: image: apache-gateway:latest container_name: apache-gateway ports: - "80:80" # HTTP 端口 - "443:443" # HTTPS 端口(若启用) environment: - HTTP_PORT=80 - HTTPS_PORT=443 - BACKEND_SERVICE_URL=http://backend:8080 # 后端服务地址(需与后端服务名一致) - SSL_ENABLE=true # 启用 HTTPS - SSL_CERT_PATH=/etc/apache2/ssl/cert.pem # SSL 证书路径(容器内) - SSL_KEY_PATH=/etc/apache2/ssl/key.pem # SSL 私钥路径(容器内) volumes: - ./conf/httpd.conf:/etc/apache2/httpd.conf # 挂载自定义主配置文件 - ./ssl:/etc/apache2/ssl # 挂载 SSL 证书目录(宿主机 ./ssl 包含 cert.pem 和 key.pem) - ./logs:/var/log/apache2 # 挂载日志目录(持久化日志) depends_on: - backend # 依赖后端服务启动 backend: # 示例后端服务 image: nginx:alpine container_name: backend-service ports: - "8080:80"
通过环境变量可快速调整网关核心配置,无需修改配置文件:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
HTTP_PORT | 容器内 HTTP 服务监听端口 | 80 |
HTTPS_PORT | 容器内 HTTPS 服务监听端口(启用 SSL 时) | 443 |
BACKEND_SERVICE_URL | 默认后端服务地址(反向代理目标) | http://localhost:8080 |
SSL_ENABLE | 是否启用 HTTPS(true/false) | false |
SSL_CERT_PATH | SSL 证书文件路径(容器内绝对路径) | /etc/apache2/ssl/cert.pem |
SSL_KEY_PATH | SSL 私钥文件路径(容器内绝对路径) | /etc/apache2/ssl/key.pem |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
PROXY_TIMEOUT | 反向代理超时时间(秒) | 60 |
4.4.1 挂载配置文件
Apache 核心配置文件为 httpd.conf,通过挂载宿主机配置文件覆盖默认配置:
bashdocker run -d \ -p 80:80 \ -v /path/on/host/httpd.conf:/etc/apache2/httpd.conf \ # 挂载主配置 -v /path/on/host/extra:/etc/apache2/extra \ # 挂载额外配置(如 vhosts.conf) --name apache-gateway \ apache-gateway:latest
4.4.2 扩展模块
如需启用额外模块(如 mod_headers、mod_deflate),可在自定义 httpd.conf 中添加:
apacheLoadModule headers_module modules/mod_headers.so LoadModule deflate_module modules/mod_deflate.so
4.5.1 日志持久化
挂载日志目录至宿主机,避免容器重启后日志丢失:
bashdocker run -d \ -p 80:80 \ -v /path/on/host/logs:/var/log/apache2 \ # 挂载日志目录 --name apache-gateway \ apache-gateway:latest
4.5.2 SSL 证书持久化
将 SSL 证书文件存储在宿主机,并挂载至容器:
bashdocker run -d \ -p 443:443 \ -e SSL_ENABLE=true \ -v /path/on/host/ssl:/etc/apache2/ssl \ # 挂载证书目录(包含 cert.pem 和 key.pem) --name apache-gateway \ apache-gateway:latest
以下示例实现:将 HTTPS 请求(443 端口)反向代理至后端 HTTP 服务(backend:8080),并启用日志持久化。
yamlversion: '3.8' services: apache-gateway: image: apache-gateway:latest container_name: apache-gateway ports: - "443:443" environment: - HTTPS_PORT=443 - SSL_ENABLE=true - BACKEND_SERVICE_URL=http://backend:8080 - LOG_LEVEL=info volumes: - ./ssl:/etc/apache2/ssl # 宿主机 ./ssl 目录包含 cert.pem 和 key.pem - ./logs:/var/log/apache2 # 日志持久化 - ./conf/extra/vhosts.conf:/etc/apache2/extra/vhosts.conf # 自定义虚拟主机配置 depends_on: - backend backend: image: nginx:alpine container_name: backend-service ports: - "8080:80" volumes: - ./backend/html:/usr/share/nginx/html # 后端静态资源
自定义虚拟主机配置(./conf/extra/vhosts.conf):
apache<VirtualHost *:443> ServerName gateway.example.com ProxyPass / http://backend:8080/ ProxyPassReverse / http://backend:8080/ SSLEngine on SSLCertificateFile "/etc/apache2/ssl/cert.pem" SSLCertificateKeyFile "/etc/apache2/ssl/key.pem" # 启用压缩 AddOutputFilterByType DEFLATE text/html text/css application/json </VirtualHost>
www-data)对挂载资源有读权限,建议宿主机目录权限设置为 755,文件权限 644。docker run --rm apache-gateway:latest httpd -t 验证配置文件语法正确性。--memory、--cpus 限制容器资源,避免过度占用主机资源。docker run --rm apache-gateway:latest httpd -v 查看 Apache 版本)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务