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 计划 提供精选的安全加固镜像。过渡期安排如下:
更多详情参见 Bitnami Secure Images 公告。
推荐通过 Docker Hub 获取预构建镜像:
console# 获取最新版 docker pull bitnami/apache:latest # 获取特定版本(需替换 [TAG],如 2.4.58) docker pull bitnami/apache:[TAG]
如需自定义构建,可克隆源码仓库并执行构建命令:
consolegit clone [***] cd bitnami/apache/[VERSION]/[操作系统] # 替换版本和操作系统(如 2.4/debian-12) docker build -t bitnami/apache:latest .
容器默认将 /app 目录配置为 Apache 的 DocumentRoot(文档根目录),挂载本地静态文件至该目录即可提供服务。
consoledocker run --name apache \ -p 8080:8080 -p 8443:8443 \ # 映射 HTTP/HTTPS 端口(容器内默认 8080/8443) -v /本地静态文件路径:/app \ # 挂载本地静态文件到容器 /app bitnami/apache:latest
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 目录即可生效。
my_vhost.conf)apache<VirtualHost *:8080> ServerName [***] # 域名 DocumentRoot "/app/example" # 该域名的文档根目录 <Directory "/app/example"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
consoledocker run --name apache \ -v /本地路径/my_vhost.conf:/vhosts/my_vhost.conf:ro \ # 只读挂载虚拟主机配置 -v /本地/example网站文件:/app/example \ # 挂载网站文件 bitnami/apache:latest
容器默认使用 /certs 目录下的 tls.crt(证书)和 tls.key(私钥)。替换为自定义证书步骤如下:
将自定义证书重命名为 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
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 模式,通过环境变量 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 / [***] # 转发至后端服务(需通过 Docker 网络连接) ProxyPassReverse / [***] </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
consoledocker pull bitnami/apache:latest
consolersync -a /path/to/挂载数据 /path/to/备份目录_$(date +%Y%m%d-%H%M%S)
consoledocker stop apache && docker rm apache
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 许可协议。详见 LICENSE。
商标说明:本镜像由 Bitnami 打包,提及的商标分属各自所有者,不代表关联或背书。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429