OpenSeaOtter是一个易于安装和使用的容器镜像仓库,是现实了docker registry api v2版本。
OpenSeaOtter包含以下步骤:
- 下载最新二进制版本
- 初始化配置
- 安装linux服务
- 启动服务
- 接入到OpenLinkSaas项目中(可选步骤)
- 创建验证密钥
- 创建镜像分组
下载
你可以从 GitCode - 全球开发者的开源社区,开源代码托管平台下载最新的二进制文件(so_server)。目前so_server只支持x86_64的linux系统,如果你是linux是其他指令集架构,你需要自己下载代码编译。
下载完文件后,需要给文件加上执行权限
# chmod a+x so_server
初始化配置
以root用户在linux下运行
# ./so_server config init --domain [DOMAIN] --tlsCertFile [CERT_FILE] --tlsKeyFile [KEY_FILE]
其中DOMAIN是访问服务的域名地址,是必须的参数。
--tlsCertFile 和 --tlsKeyFile是可选参数,指定后程序可以提供https服务。
命令执行后,会生成/etc/seaotter/config.yaml文件。如果文件已经存在,可以使用--force参数来重置配置。
安装linux服务
以root用户在linux下运行
# ./so_server service install
这个命令执行后,会进行如下操作:
- 服务so_server到/usr/sbin/seaotter
- 增加/usr/sbin/seaotter可执行权限
- 把/usr/sbin/seaotter owner设置为seaotter:seaotter
- 调用setcap为/usr/sbin/seaotter增加绑定1024以下端口的权限
- 创建数据目录/var/lib/seaotter
- 生成systemd文件 /usr/lib/systemd/system/seaotter.service
- reload systemd
启动服务
以root用户在linux下运行
# systemctl start seaotter
接入到OpenLinkSaas项目中(可选步骤)
使用./so_server config addRemote即可连接到OpenLinkSaas项目中。
创建验证密钥
在终端下运行/usr/sbin/seaotter auth addSecret [USERNAME] [PASSWORD]
USERNAME为密钥用户名
PASSWORD为密钥密码
目前只支持basic auth。
创建镜像分组
创建镜像分组的时候,需要指定pull和push对应的密钥用户名。
在终端下运行/usr/sbin/seaotter group addGroup --pullSecName [USERNAME] --pushSecName [USERNAME] [GROUPNAME]
GROUPNAME是你要创建的分组名称,目前只能由下划线,数据和字母组成。
--pullSecName和--pushSecName可指定多次,这样就能设置多个用户了。
代码地址
我们的项目是开源的。
目前放在 GitCode - 全球开发者的开源社区,开源代码托管平台,访问以下几个项目
- so_proto 通讯协议定义
- so_proto_gen_go 通讯协议生成的go代码
- so_proto_gen_rust 通讯协议生成的rust代码
- so_server 主服务程序