OpenSeaOtter是一个易于安装和使用的容器镜像仓库,是现实了docker registry api v2版本。
OpenSeaOtter支持了如下manifest:
- application/vnd.docker.container.image.v1+json
- application/vnd.oci.image.config.v1+json
- application/vnd.docker.distribution.manifest.v2+json
- application/vnd.oci.image.manifest.v1+json
- application/vnd.docker.distribution.manifest.list.v2+json
- application/vnd.oci.image.index.v1+json
此外还支持如下特性: - pull/push密钥管理
- 成员权限管理
- 命令行管理工具
- OpenLinkSaas图形管理界面
架构
- 使用http/https(docker registry api v2)来和docker/podman实现交互
- 使用grpc和本地工具/OpenLinkSaas客户端进行通讯
- 设计上支持多种存储引擎,目前只实现了本地存储
后续工作
- 支持docker scout漏洞报告
- 镜像变更订阅
- 查看镜像Layer内容
代码地址
我们的项目是开源的。
目前放在 GitCode - 全球开发者的开源社区,开源代码托管平台,访问以下几个项目
- so_proto 通讯协议定义
- so_proto_gen_go 通讯协议生成的go代码
- so_proto_gen_rust 通讯协议生成的rust代码
- so_server 主服务程序