Nydus 是 Dragonfly 的容器镜像服务。该项目项目在容器镜像格式之上实现了一个用户空间文件系统,该容器镜像格式比当前的 OCI 镜像规范有所改进。其主要功能包括:
-
容器镜像按需下载,用户不再需要下载完整镜像就能启动容器
-
块级别的镜像数据去重,最大限度为用户节省存储资源
-
镜像只有最终可用的数据,不需要保存和下载过期数据
-
端到端的数据一致性校验,为用户提供更好的数据保护
-
兼容 OCI 分发标准和 artifacts 标准,开箱即可用
-
支持不同的镜像存储后端,镜像数据不只可以存放在镜像仓库,还可以放到 NAS 或者类似 S3 的对象存储上
-
与 Dragonfly 的良好集成
当前存储库包括以下工具:
- 一个 nydusify 工具,用于将 OCI 格式的容器镜像转换为 nydus 格式的容器镜像
-
一个
nydus-image
工具,用于将未打包的容器镜像转换为 nydus 格式的镜像 - 一个 nydusd daemon,用于解析 nydus 格式的镜像,并为容器访问提供 FUSE 挂载点
架构:
nydus 主要包含一个新的镜像格式,和一个负责解析容器镜像的 FUSE 用户态文件系统进程。