
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Bitnami Apache 镜像是基于 Apache HTTP Server 的容器化部署方案。Apache HTTP Server 是一款开源的 HTTP 服务器,旨在提供安全、高效且可扩展的 HTTP 服务,符合当前 HTTP 标准。Bitnami 镜像通过安全加固、标准化配置和简化部署流程,适用于开发、测试及生产环境中的静态网站托管、反向代理和 Web 服务前端等场景。
consoledocker run --name apache bitnami/apache:latest
配置选项详见 环境变量 部分。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 Bitnami Secure Images 计划 提供精选的安全加固镜像。过渡期安排如下:
更多详情参见 https://github.com/bitnami/containers/issues/83267%E3%80%82
从 Docker Hub 拉取
推荐通过 Docker Hub 获取预构建镜像:
console# 获取最新版 docker pull bitnami/apache:latest # 获取特定版本(需替换 [TAG],如 2.4.58) docker pull bitnami/apache:[TAG]
本地构建
如需自定义构建,可克隆源码仓库并执行构建命令:
consolegit clone https://github.com/bitnami/containers.git cd bitnami/apache/[VERSION]/[操作系统] # 替换版本和操作系统(如 2.4/debian-12) docker build -t bitnami/apache:latest .
容器默认将 /app 目录配置为 Apache 的 DocumentRoot(文档根目录),挂载本地静态文件至该目录即可提供服务。
Docker 命令示例
consoledocker run --name apache \ -p 8080:8080 -p 8443:8443 \ # 映射 HTTP/HTTPS 端口(容器内默认 8080/8443) -v /本地静态文件路径:/app \ # 挂载本地静态文件到容器 /app bitnami/apache:latest
Docker Compose 示例
yamlversion: '2' services: apache: image: bitnami/apache:latest ports: - "80:8080" # 主机 80 端口映射到容器 HTTP 端口 - "443:8443" # 主机 443 端口映射到容器 HTTPS 端口 volumes: - /本地静态文件路径:/app # 挂载静态文件 restart: unless-stopped
注意:由于容器以非 root 用户(UID 1001)运行,挂载的文件和目录需确保该用户有读权限。
随机端口映射
使用 -P 选项让 Docker 随机映射容器端口,通过 docker port 查看映射关系:
consoledocker run --name apache -P bitnami/apache:latest docker port apache # 输出示例:8080/tcp -> 0.0.0.0:32769
指定端口映射
手动指定主机与容器端口映射(推荐生产环境使用):
consoledocker run --name apache \ -p 80:8080 \ # 主机 80 端口 -> 容器 HTTP 端口 -p 443:8443 \ # 主机 443 端口 -> 容器 HTTPS 端口 bitnami/apache:latest
访问 http://localhost:80 或 https://localhost:443 即可打开网站。
环境变量
可定制环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
APACHE_HTTP_PORT_NUMBER | Apache HTTP 服务端口号 | nil |
APACHE_HTTPS_PORT_NUMBER | Apache HTTPS 服务端口号 | nil |
APACHE_SERVER_TOKENS | Apache ServerTokens 指令值 | Prod |
只读环境变量(运行时自动设置)
| 变量名 | 描述 | 值 |
|---|---|---|
WEB_SERVER_TYPE | Web 服务器类型 | apache |
APACHE_BASE_DIR | Apache 安装目录 | ${BITNAMI_ROOT_DIR}/apache |
APACHE_CONF_DIR | 配置文件目录 | ${APACHE_BASE_DIR}/conf |
APACHE_VHOSTS_DIR | 虚拟主机配置目录 | ${APACHE_CONF_DIR}/vhosts |
APACHE_HTDOCS_DIR | 默认文档根目录 | ${APACHE_BASE_DIR}/htdocs |
APACHE_LOGS_DIR | 日志文件目录 | ${APACHE_BASE_DIR}/logs |
APACHE_CONF_FILE | 主配置文件路径 | ${APACHE_CONF_DIR}/httpd.conf |
APACHE_DEFAULT_HTTP_PORT_NUMBER | 默认 HTTP 端口(构建时设置) | 8080 |
APACHE_DEFAULT_HTTPS_PORT_NUMBER | 默认 HTTPS 端口(构建时设置) | 8443 |
环境变量配置示例
通过 -e 参数或 Docker Compose environment 字段设置环境变量:
consoledocker run --name apache \ -p 80:8081 -p 443:8443 \ -e APACHE_HTTP_PORT_NUMBER=8081 \ # 自定义 HTTP 端口为 8081 bitnami/apache:latest
Docker Compose 配置:
yamlversion: '2' services: apache: image: bitnami/apache:latest ports: - "80:8081" - "443:8443" environment: - APACHE_HTTP_PORT_NUMBER=8081 # 自定义 HTTP 端口
添加自定义虚拟主机
Apache 主配置默认包含 /opt/bitnami/apache/conf/vhosts/ 目录下的所有 .conf 文件,通过挂载虚拟主机配置文件至 /vhosts 目录即可生效。
步骤 1:创建虚拟主机配置文件(如 my_vhost.conf)
apache<VirtualHost *:8080> ServerName www.example.com # 域名 DocumentRoot "/app/example" # 该域名的文档根目录 <Directory "/app/example"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
步骤 2:挂载配置文件启动容器
consoledocker run --name apache \ -v /本地路径/my_vhost.conf:/vhosts/my_vhost.conf:ro \ # 只读挂载虚拟主机配置 -v /本地/example网站文件:/app/example \ # 挂载网站文件 bitnami/apache:latest
自定义 SSL 证书
容器默认使用 /certs 目录下的 tls.crt(证书)和 tls.key(私钥)。替换为自定义证书步骤如下:
步骤 1:准备证书文件
将自定义证书重命名为 server.crt 和 server.key,存放于本地目录(如 /path/to/certs):
consolemkdir -p /path/to/certs cp /本地证书路径.crt /path/to/certs/server.crt cp /本地私钥路径.key /path/to/certs/server.key
步骤 2:挂载证书目录启动容器
consoledocker run --name apache \ -v /path/to/certs:/certs \ # 挂载证书目录至容器 /certs bitnami/apache:latest
完整配置覆盖
如需完全自定义 Apache 配置,可直接挂载主配置文件 httpd.conf:
consoledocker run --name apache \ -v /本地/httpd.conf:/opt/bitnami/apache/conf/httpd.conf \ # 覆盖主配置 bitnami/apache:latest
FIPS 配置(Bitnami Secure Images)
安全加固镜像支持 FIPS 模式,通过环境变量 OPENSSL_FIPS 控制:
OPENSSL_FIPS=yes:启用 FIPS 模式(默认)OPENSSL_FIPS=no:禁用 FIPS 模式配置示例:
consoledocker run --name apache \ -e OPENSSL_FIPS=no \ # 禁用 FIPS 模式 bitnami/apache:latest
Apache 可通过 mod_proxy 模块实现反向代理,转发请求至其他容器服务。示例配置(添加至虚拟主机配置或主配置):
apache<VirtualHost *:8080> ServerName api.example.com ProxyPass / http://backend-service:8080/ # 转发至后端服务(需通过 Docker 网络连接) ProxyPassReverse / http://backend-service:8080/ </VirtualHost>
容器将 Apache 日志输出至 stdout,可通过 docker logs 命令查看:
consoledocker logs apache # 查看实时日志 docker logs -f apache # 持续输出日志
Docker Compose 环境:
consoledocker-compose logs apache
如需扩展镜像功能(如安装工具、修改配置),可基于官方镜像构建自定义镜像。示例 Dockerfile:
dockerfileFROM bitnami/apache # 切换至 root 用户执行特权操作 USER 0 # 安装 vim 编辑器(需使用镜像内置包管理器) RUN install_packages vim # 切换回非 root 用户 USER 1001 # 启用 mod_ratelimit 模块 RUN sed -i -r 's/#LoadModule ratelimit_module/LoadModule ratelimit_module/' /opt/bitnami/apache/conf/httpd.conf # 自定义默认 HTTP 端口(运行时可通过环境变量覆盖) ENV APACHE_HTTP_PORT_NUMBER=8181 EXPOSE 8181 8443
步骤 1:拉取最新镜像
consoledocker pull bitnami/apache:latest
步骤 2:备份数据(如挂载的静态文件或配置)
consolersync -a /path/to/挂载数据 /path/to/备份目录_$(date +%Y%m%d-%H%M%S)
步骤 3:停止并删除旧容器
consoledocker stop apache && docker rm apache
步骤 4:启动新容器
consoledocker run --name apache \ -v /path/to/数据:/app \ # 挂载备份的数据 bitnami/apache:latest
tls.crt/tls.key(原 server.crt/server.key),适配 Kubernetes tls 密钥类型。/bitnami/apache,日志仅输出至 stdout。本镜像基于 Apache License 2.0 许可协议。详见 https://github.com/bitnami/containers/blob/main/LICENSE%E3%80%82
商标说明:本镜像由 Bitnami 打包,提及的商标分属各自所有者,不代表关联或背书。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 bitnami/apache 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: