本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Instructure 开源基础 Docker 镜像是一套用于构建语言基础镜像及其 Web 服务器(Passenger)对应版本的基础镜像集合。该镜像通过模板化系统实现多版本镜像的统一管理与构建,旨在为 Instructure 相关应用的开发、部署提供标准化的底层环境支持,简化多语言版本、多配置场景下的基础镜像维护流程。
template 目录)统一管理镜像构建配置,支持批量生成不同版本的基础镜像,减少重复开发工作。manifest 文件中的 versions 对象定义各语言版本的构建参数,每个对象对应特定语言的版本目录(如 ruby/3.1、python/3.9),实现多版本并行维护。defaults 全局默认配置与 versions 版本特定配置的自动合并,优先使用版本配置覆盖默认配置,提升配置复用性和灵活性。rake 命令工具,可将 template 目录的配置修改自动同步到所有版本的构建目录,确保各版本镜像配置一致性。manifest 中指定的模板文件注入 version(版本号)和 generation_message(生成信息)变量,确保镜像构建元数据可追溯。rake 命令)、Docker、Git。ruby、python),每个目录下含 template 模板目录、manifest 配置文件及版本目录(如 3.1、3.2)。根据需求调整目标语言的模板配置(以 Ruby 为例):
# 进入 Ruby 语言的模板目录 cd ruby/template # 编辑 Dockerfile 模板(添加新依赖或配置) vim Dockerfile.template
manifest 文件(位于语言目录根目录,如 ruby/manifest.json)定义构建参数,格式示例:
{ "defaults": { "base_image": "ubuntu:22.04", "packages": ["curl", "git"] }, "versions": { "3.1": { "ruby_version": "3.1.4", "packages": ["curl", "git", "nodejs"] }, "3.2": { "ruby_version": "3.2.2", "packages": ["curl", "git", "nodejs", "yarn"] } }, "templates": ["Dockerfile.template", "config/passenger.conf.template"] }
defaults:全局默认配置(如基础镜像版本、通用依赖包),所有版本共享。versions:版本特定配置,键为版本号(如 3.1),值为该版本的个性化参数(如语言版本、额外依赖),可覆盖 defaults 中同名配置。templates:需注入变量的模板文件列表(支持相对路径)。运行 rake 命令将 template 目录的修改同步到所有版本的构建目录:
# 在项目根目录执行 rake
该命令会根据 manifest 配置,将 template 目录下的文件渲染到对应版本目录(如 ruby/3.1、ruby/3.2),并自动注入 version 和 generation_message 变量。
以 Ruby 3.1 版本为例,进入版本目录执行构建:
cd ruby/3.1 docker build -t instructure/ruby-base:3.1 .
| 参数名 | 说明 |
|---|---|
defaults | 全局默认配置,所有版本共享,如 base_image: "ubuntu:22.04" |
versions | 版本配置集合,键为版本号(如 3.1),值为该版本的个性化配置 |
templates | 需要注入变量的模板文件路径列表(相对 template 目录) |
模板文件中可使用以下自动注入的变量:
version:当前版本号(从 versions 对象的键获取,如 3.1)。generation_message:镜像生成元信息(默认包含生成时间、构建主机等,可自定义)。# 1. 克隆项目代码 git clone <项目仓库地址> cd instructure-base-images/ruby # 2. 修改模板配置(如需) vim template/Dockerfile.template # 3. 传播更改到版本目录 rake # 4. 构建镜像 cd 3.2 docker build -t instructure/ruby-base:3.2 . # 5. 验证镜像 docker run --rm instructure/ruby-base:3.2 ruby -v # 输出 Ruby 3.2.2
在项目根目录创建 docker-compose.yml:
version: '3.8' services: ruby-3.1: build: ./ruby/3.1 image: instructure/ruby-base:3.1 ruby-3.2: build: ./ruby/3.2 image: instructure/ruby-base:3.2 python-3.9: build: ./python/3.9 image: instructure/python-base:3.9
执行批量构建:
docker-compose build
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429