
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
apache-varnish 是一个集成了 Apache Web 服务器、PHP 解释器和 Varnish 缓存的 Docker 镜像。该镜像旨在提供一个开箱即用的 Web 服务解决方案,通过 Varnish 缓存机制提升静态内容和动态页面的访问性能,适用于需要高效内容分发的 Web 应用场景。
Apache 相关变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
| PATH_VAR_APACHE | Apache 运行目录 | /var/run/apache2 |
| APACHE_LOG_DIR | Apache 日志目录 | /var/log/apache2 |
| FILE_LOG_APACHE_ERROR | 错误日志文件路径 | $APACHE_LOG_DIR/error.log |
| FILE_LOG_APACHE_ACCESS | 访问日志文件路径 | $APACHE_LOG_DIR/access.log |
| FILE_CONF_PORTS | 端口配置文件路径 | /etc/apache2/ports.conf |
| FILE_CONF_VHOST | 虚拟主机配置文件路径 | /etc/apache2/sites-available/000-default.conf |
| PATH_HTML | 网站根目录 | /var/www/html |
| APACHE_OPTIONS | 网站目录的 Options 指令值 | "Indexes FollowSymLinks" |
| APACHE_ALLOW_OVERRIDE | 网站目录的 AllowOverride 指令值 | "None" |
| RUN_APACHE_VARNISH | 启动脚本路径 | "/run-apache-varnish.sh" |
| EXEC_APACHE_VARNISH | 执行 Apache 和 Varnish 的命令 | "exec $RUN_APACHE_VARNISH" |
Apache 配置生成机制
默认情况下,虚拟主机配置文件 FILE_CONF_VHOST 会在入口点 RUN_APACHE_VARNISH 执行时通过 generate-conf-vhost.sh 脚本生成。生成过程受以下环境变量控制:
APACHE_OPTIONS: 控制 PATH_HTML 目录的 Options 指令APACHE_ALLOW_OVERRIDE: 控制 PATH_HTML 目录的 AllowOverride 指令如果在执行 RUN_APACHE_VARNISH 前 FILE_CONF_VHOST 文件已存在且非空,则会跳过虚拟主机配置生成过程。
关于 Varnish 缓存的详细配置,请参考 https://github.com/coopTilleuls/docker-varnish 文档。
由于 rahti-scripts 是子模块,克隆仓库时建议使用:
bashgit clone --recursive <repository-url>
更新代码时使用:
bashgit pull --recurse-submodules
bash./docker-build.sh [-c]
参数说明:
-c: 无缓存构建基本运行
bash./docker-run.sh
默认情况下,服务可通过 localhost:8080 访问。
手动运行示例
bashdocker run -d -p 8080:80 \ -e APACHE_OPTIONS="Indexes FollowSymLinks MultiViews" \ -e APACHE_ALLOW_OVERRIDE="All" \ -v $(pwd)/html:/var/www/html \ --name apache-varnish <image-name>
Docker Compose 示例
yamlversion: '3' services: apache-varnish: build: context: . args: - NO_CACHE=true ports: - "8080:80" environment: - APACHE_OPTIONS=Indexes FollowSymLinks - APACHE_ALLOW_OVERRIDE=All volumes: - ./html:/var/www/html - ./vhost.conf:/etc/apache2/sites-available/000-default.conf restart: always
对于复杂配置需求,可通过以下方式自定义:
FILE_CONF_VHOST 文件或通过挂载方式替换$EXEC_APACHE_VARNISH 启动 apache+varnish 服务进入运行中的容器:
bashdocker exec -it <container-name> bash
bash./rahti-init.sh
也可通过 Web 界面完成,具体模板和参数参见 rahti-params.sh 文件。
bash./rahti-rebuild.sh
也可通过 Web 界面操作:导航到相应的 BuildConfig 并点击 "Start Build"。
bash./rahti-scrap.sh
模板会生成用于触发构建和重新部署的 WebHook。可通过以下命令查看 WebHook URL:
bashoc describe bc <ENVIRONMENT>-<APP_NAME> | grep -A 1 "Webhook" oc describe bc -l "app=<APP_NAME>,environment=<ENVIRONMENT>"
或通过 OpenShift Web 控制台导航到相应的 BuildConfig 查看。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务