
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
devilbox/nginx-stable 是基于官方 Nginx Docker 镜像构建的增强版 Web 服务器镜像。它集成了 watcherd 和 vhost-gen 工具,扩展了自动创建虚拟主机和自动签发 SSL 证书的能力。用户只需将本地项目目录挂载到容器的 /shared/httpd 路径下,在该目录中创建的任何新文件夹都会自动生成同名的虚拟主机。每个虚拟主机均支持静态文件、PHP-FPM 或反向代理后端配置,且默认对所有 SSL 连接启用 HTTP/2。
vhost-gen 模板对每个虚拟主机进行独立的精细化配置。docker run 时指定 UID 和 GID,可确保容器内外的文件系统权限和所有权保持一致。支持的 CPU 架构:amd64, arm64, 386, arm/v7, arm/v6
每晚自动构建并更新,适合追求最新特性的开发环境。
| Docker Tag | Git Ref | 说明 |
|---|---|---|
latest | master | 默认标签,基于最新稳定版构建 |
debian | master | 基于 Debian 系统构建 |
alpine | master | 基于 Alpine 系统构建(体积更小) |
基于特定 Git Tag 构建,版本永不改变,适合需要可重复构建的生产环境或 CI/CD 流水线。
| Docker Tag | Git Ref | 说明 |
|---|---|---|
<tag> | git: <tag> | 指定版本的默认标签 |
<tag>-debian | git: <tag> | 指定版本的 Debian 变体 |
<tag>-alpine | git: <tag> | 指定版本的 Alpine 变体 |
镜像提供了丰富的环境变量以控制各项功能。如果输入错误,容器启动时的验证脚本会输出详细的修复建议。
| 分类 | 环境变量 | 说明 |
|---|---|---|
| 调试与日志 | DEBUG_ENTRYPOINTDEBUG_RUNTIMEDOCKER_LOGS | 控制入口脚本、运行时的调试信息输出,以及是否将日志重定向至 Docker 标准输出。 |
| 系统设置 | NEW_UIDNEW_GIDTIMEZONE | 同步宿主机用户/组 ID 以解决文件权限问题;设置容器内时区。 |
| Nginx 核心 | WORKER_CONNECTIONSWORKER_PROCESSESHTTP2_ENABLE | 调整 Nginx 工作进程数、最大连接数,以及是否全局启用 HTTP/2。 |
| 主虚拟主机 (Main Vhost) | MAIN_VHOST_ENABLEMAIN_VHOST_BACKENDMAIN_VHOST_SSL_TYPEMAIN_VHOST_DOCROOT_DIRMAIN_VHOST_ALIASES_ALLOW 等 | 控制单一默认虚拟主机的启用状态、后端类型(static/php-fpm/proxy)、SSL 模式、文档根目录及别名路由规则。 |
| 批量虚拟主机 (Mass Vhost) | MASS_VHOST_ENABLEMASS_VHOST_BACKENDMASS_VHOST_SSL_TYPEMASS_VHOST_TLD_SUFFIXMASS_VHOST_DOCROOT_DIR 等 | 控制自动批量虚拟主机的启用状态、后端类型、SSL 模式、域名后缀(如 .loc)及文档根目录。 |
| 类型 | 容器路径 | 说明 |
|---|---|---|
| 数据目录 | /shared/httpd/ | 核心目录:批量虚拟主机的项目挂载点,在此目录下创建文件夹即生成虚拟主机。 |
| 数据目录 | /var/www/default/ | 主虚拟主机(Default Vhost)的数据存放目录。 |
| 数据目录 | /ca/ | 内部证书颁发机构(CA)的数据和证书存储目录。 |
| 配置目录 | /etc/httpd-custom.d/ | 存放自定义的 Nginx 配置片段(.conf 文件)。 |
| 配置目录 | /etc/vhost-gen.d/ | 存放 vhost-gen 的自定义模板文件,用于深度定制虚拟主机配置。 |
| 端口 | 协议 | 说明 |
|---|---|---|
| 80 | TCP | HTTP 监听端口 |
| 443 | TCP | HTTPS 监听端口(必须通过环境变量启用 SSL,否则该端口不会监听) |
此示例将本地 ./projects 目录挂载到容器中,并自动为其中的每个子目录创建一个静态文件虚拟主机。
bashdocker run -d \ --name nginx-stable \ -p 80:80 \ -v $(pwd)/projects:/shared/httpd \ -e MASS_VHOST_ENABLE=1 \ -e MASS_VHOST_BACKEND=static \ -e MASS_VHOST_TLD_SUFFIX=.loc \ -e NEW_UID=$(id -u) \ -e NEW_GID=$(id -g) \ docker.xuanyuan.run/devilbox/nginx-stable
访问方式:如果在 ./projects 下创建了 myapp 目录,则可通过 http://myapp.loc 访问。
此示例展示如何结合 PHP-FPM 镜像,搭建支持自动 HTTPS 和批量虚拟主机的完整开发环境。
yamlversion: '3.8' services: nginx: image: docker.xuanyuan.run/devilbox/nginx-stable:latest container_name: devilbox-nginx ports: - "80:80" - "443:443" volumes: - ./projects:/shared/httpd - ./ca:/ca environment: - MASS_VHOST_ENABLE=1 - MASS_VHOST_BACKEND=php-fpm:php:9000 - MASS_VHOST_SSL_TYPE=both - MASS_VHOST_TLD_SUFFIX=.loc - NEW_UID=1000 - NEW_GID=1000 - HTTP2_ENABLE=1 depends_on: - php php: image: docker.xuanyuan.run/devilbox/php-fpm:8.2 container_name: devilbox-php volumes: - ./projects:/shared/httpd environment: - NEW_UID=1000 - NEW_GID=1000
说明:启动后,在 ./projects 中创建新项目,Nginx 会自动生成 SSL 证书并配置 PHP-FPM 代理。将 ./ca 目录中的 CA 证书导入宿主机系统并设为信任,即可实现浏览器无警告的 HTTPS 访问。
镜像内部采用模块化设计,确保自动化流程的高效与稳定:
docker-entrypoint.sh):负责环境变量验证、权限调整和初始化配置。supervisord):作为 PID 1 进程,同时管理 Nginx 和 watcherd。watcherd):实时监控 /shared/httpd 目录的文件系统事件(创建/删除目录)。vhost-gen & cert-gen):当检测到新目录时,自动调用证书生成工具签发 SSL,并通过 vhost-gen 渲染 Nginx 虚拟主机配置文件,最后平滑重载 Nginx。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务