内容分发工具oras

2025-04-07

oras 是一个开源工具,全称为 OCI Registry As Storage,主要用途是将任意文件或工件(artifact)如模型文件、WebAssembly 模块、软件包等,打包并推送到符合 OCI(Open Container Initiative)标准的容器镜像仓库中,比如 Docker Hub、Harbor、GitHub Container Registry 等。

简单来说,oras 允许你把非容器类的内容当作镜像一样存储和分发。


🌟 主要特点

  • 📦 支持将任意文件(如模型、配置、数据)推送到镜像仓库

  • 🔐 支持 OCI 标准认证、签名等

  • 🧩 可用于 MLOps 场景:分发模型、配置文件等

  • ⚙️ 可集成入 CI/CD 流程

  • 🐳 和常见的容器仓库兼容(如 Docker Hub、Harbor、Azure ACR)


🛠️ 安装

官网安装教程:https://oras.land/docs/installation#windows

通过 Homebrew (macOS)

brew install oras

通过 Go 安装

go install github.com/oras-project/oras@latest

下载 Release 版本

前往 GitHub releases 下载你平台对应的版本。


🚀 基本使用

登录仓库(如果是私有仓库)

oras login ghcr.io

推送文件到镜像仓库

将文件 config.yaml 推送到 GitHub Container Registry:

oras push ghcr.io/your_user/config-artifact:latest \ --media-type application/vnd.yaml \ config.yaml

也可以推送多个文件:

oras push ghcr.io/your_user/my-model:v1 \ model.onnx \ tokenizer.json

拉取文件

oras pull ghcr.io/your_user/my-model:v1

执行完后会将文件下载到当前目录。

查看文件信息

oras manifest fetch ghcr.io/your_user/my-model:v1

📦 应用场景示例

  • 将机器学习模型推送到镜像仓库,便于共享和分发

  • 把配置文件、WASM 文件等纳入镜像仓库管理

  • 替代传统的文件服务器,统一使用 OCI registry 作为分发中枢

PREV
git代码提交消息格式
NEXT
关于0.0.0.0这些知识,你竟然还不知道