
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Grav是一个快速、简单、灵活的文件型Web平台,无需安装。虽然Grav遵循与其他平面文件CMS平台类似的原则,但其设计理念与大多数平台不同。
Grav的底层架构采用成熟的一流技术构建,确保使用简单且易于扩展。其中一些关键技术包括:
我们利用Docker清单实现多平台支持。更多信息可参考Docker文档https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list。
直接拉取dsavell/grav:admin会自动获取适合您架构的镜像,也可通过标签拉取特定架构镜像。
此镜像支持的架构如下:
| 架构 | 是否可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<版本标签> |
| arm64 | ❌ | arm64v8-<版本标签> |
| armhf | ❌ | arm32v7-<版本标签> |
此镜像提供多种版本,可通过标签获取。
| 标签 | 是否可用 | 描述 |
|---|---|---|
| admin | ✅ | 稳定的Grav核心+Admin插件版本 |
| core | ✅ | 稳定的Grav核心版本 |
| admin-<日期> | ✅ | 稳定的Grav核心+Admin插件版本+日期 |
| core-<日期> | ✅ | 稳定的Grav核心版本+日期 |
| admin-<版本标签> | ✅ | 固定的Grav核心+Admin插件版本 |
| core-<版本标签> | ✅ | 固定的Grav核心版本 |
| admin-<版本标签>-<日期> | ✅ | 固定的Grav核心+Admin插件版本+日期 |
| core-<版本标签>-<日期> | ✅ | 固定的Grav核心版本+日期 |
Web界面可通过http://<你的IP>访问。
更多信息请参阅官方文档https://learn.getgrav.org/17/basics/installation#webservers。
以下是帮助您创建容器的示例代码片段。
yaml--- version: '2.1' services: grav: image: docker.xuanyuan.run/dsavell/grav:<TAG> container_name: grav restart: unless-stopped environment: - DUID=1000 - DGID=1000 - TZ=Europe/London # 可选 - GRAV_MULTISITE=subdirectory # 可选 - ROBOTS_DISALLOW=false # 可选 - GRAV_PLUGINS=devtools,precache # 可选 volumes: - /data/containers/grav/backup:/var/www/grav/backup - /data/containers/grav/logs:/var/www/grav/log - /data/containers/grav/user:/var/www/grav/user ports: - 80:80
bashdocker create \ --name=grav \ --restart unless-stopped \ -e DUID=1000 \ -e DGID=1000 \ -p 80:80 \ -e TZ=Europe/London `# 可选` \ -e GRAV_MULTISITE=subdirectory `# 可选` \ -e ROBOTS_DISALLOW=false `# 可选` \ -e GRAV_PLUGINS=devtools,precache `# 可选` \ -v /data/containers/grav/backup:/var/www/grav/backup \ -v /data/containers/grav/logs:/var/www/grav/logs \ -v /data/containers/grav/user:/var/www/grav/user \ dsavell/grav:<TAG> docker start grav
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数以冒号分隔,表示<外部>:<内部>。例如,-p 8080:80会将容器内的80端口暴露到主机IP的8080端口。
| 参数 | 功能 |
|---|---|
-p 80 | HTTP Web界面 |
-e DUID=1000 | 用户ID - 详见下文说明 |
-e DGID=1000 | 组ID - 详见下文说明 |
-e GRAV_MULTISITE=subdirectory | 部署Grav多站点(子目录)安装 |
-e ROBOTS_DISALLOW=false | 替换默认/robots.txt文件为阻止索引器的版本 |
-e TZ=Europe/London | 设置时区 |
-e GRAV_PLUGINS=devtools,precache | 自动安装额外插件(必须用逗号分隔) |
-v /var/www/backup | 存储Grav备份的位置 |
-v /var/www/logs | 存储Grav日志文件的位置 |
-v /var/www/user | 存储Grav内容的位置 |
使用卷(-v标志)时,主机OS和容器之间可能出现权限问题。通过指定用户PUID和组PGID可避免此问题。
确保主机上的任何卷目录都归您指定的用户所有,权限问题将迎刃而解。
此处PUID=1000和PGID=1000,可通过id user命令获取您的ID:
bash$ id username uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
https://github.com/getgrav/grav-plugin-admin/issues/1744master branch迁移至main分支。commitlint功能以验证提交消息格式。.editorconfig确保IDE间标准统一。.gitattributes确保Git CLI标准统一。GRAV_MULTISITE添加subdomain选项。NGINX_CLIENT_MAX_BODY_SIZE以指定nginx配置中的client_max_body_size。bin/grav/ scheduler -i检查。crontab -l检查。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务