
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本Docker镜像提供了一个便捷的环境,用于搭建本地或私有RubyGems镜像服务。RubyGems镜像是存储Ruby库(gems)的服务器,可缓存上游RubyGems源的包,实现依赖包的本地存储与快速分发,解决外部网络依赖问题并提升Ruby项目构建效率。
gem install等命令的执行速度快速启动(docker run)
通过以下命令快速启动RubyGems镜像服务:
bashdocker run -d \ --name rubygems-mirror \ -p 8080:8080 \ -v /path/to/local/cache:/app/cache \ -e SOURCE_URL=https://rubygems.org \ docker.xuanyuan.run/rubygems-mirror:latest
参数说明:
-p 8080:8080:将容器内8080端口映射到主机8080端口(可自定义主机端口)-v /path/to/local/cache:/app/cache:挂载本地目录作为缓存卷,持久化存储gems包(避免容器重启后缓存丢失)-e SOURCE_URL:指定上游RubyGems源地址(默认值:[***]Docker Compose配置
创建docker-compose.yml文件简化部署:
yamlversion: '3' services: rubygems-mirror: image: docker.xuanyuan.run/rubygems-mirror:latest container_name: rubygems-mirror ports: - "8080:8080" volumes: - ./gem-cache:/app/cache # 本地缓存目录 environment: - SOURCE_URL=https://rubygems.org # 上游源地址 - PORT=8080 # 服务端口 - CACHE_TTL=3600 # 缓存过期时间(秒,默认3600) restart: unless-stopped # 容器退出后自动重启
启动服务:
bashdocker-compose up -d
验证服务可用性
服务启动后,可通过以下步骤验证:
http://localhost:8080,若返回RubyGems镜像服务页面,说明服务运行正常bashgem sources --add http://localhost:8080 gem sources --remove https://rubygems.org # 可选:移除默认源,仅使用本地镜像
bashgem install rails # 首次安装会从上游源同步并缓存,后续安装直接使用本地缓存
环境变量
| 变量名 | 用途 | 默认值 |
|---|---|---|
SOURCE_URL | 上游RubyGems源地址 | https://rubygems.org |
PORT | 服务监听端口 | 8080 |
CACHE_DIR | 容器内缓存目录路径 | /app/cache |
CACHE_TTL | 缓存文件过期时间(秒) | 3600(1小时) |
MAX_CACHE_SIZE | 最大缓存空间(MB) | 10240(10GB) |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
持久化配置
建议通过-v参数挂载本地目录到CACHE_DIR(默认/app/cache),确保容器重建后缓存数据不丢失。对于生产环境,可结合NFS或分布式存储进一步提升可靠性。
https://gems.ruby-china.com),修改SOURCE_URL环境变量即可MAX_CACHE_SIZE达到阈值时,服务会自动清理最旧的缓存文件,释放空间您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务