# 操作指南

## 1. 创建及删除

### 1.1 创建镜像仓库

在镜像仓库产品 UHub 页面，点击**创建镜像仓库**，输入镜像仓库名称以及备注，创建镜像仓库。如当前项目已有镜像仓库，请在**镜像仓库名称**下拉列表中选择**新建镜像仓库**。

镜像仓库名称必须为**全局唯一**（不能与其他用户、项目镜像仓库名称重合），每个项目支持**最多 8 个镜像仓库**。

### 1.2 删除镜像仓库

点击镜像仓库控制台页面右上角**删除镜像库**按钮，进行镜像仓库删除，**仅支持删除空镜像仓库**。如镜像仓库中仍有镜像，请先进行删除。

## 2. 账户和权限

在装有 docker (版本要求1.10 以上版本) 机器上通过 docker login 执行登录。

登录镜像仓库，通过域名访问服务：

```
docker login uhub.genesissai.com -u {user@email}
```

登录用户名为 Genesis Cloud 平台注册的邮箱，密码为**控制台登录密码**。

镜像仓库默认为非公开，只能被主账户及对该镜像仓库所在项目有相应权限的子账户拉取。如果你希望自己镜像被平台内其他用户拉取，可以将**对外共享镜像库**设置为公开。

您也可以通过**外网访问**开关，禁止通过外网推送及拉取仓库镜像。但是如果您的仓库权限为**对外共享镜像库**，则仅禁止公网推送，仍然具有公网拉取的权限。

### 2.1 独立密码使用说明

1. 独立密码根据**登录用户名**进行绑定，设置后登录镜像仓库用户名仍为 Genesis Cloud 平台注册的邮箱，密码为设置的独立密码。

2. 修改独立密码将适用于所有镜像仓库，支持在 Genesis Cloud 内网和外网登录使用。

3. 独立密码与**登录用户名**进行绑定，而不是与镜像仓库进行绑定。

## 3. 推送和拉取镜像

### 3.1 推送镜像

**Step 1**: 本地对镜像打一个tag:

```
docker tag {本地镜像名} uhub.genesissai.com/{已创建镜像仓库}/{镜像}:tag
```

**Step2**：提交镜像到仓库:

```
docker push uhub.genesissai.com/{已创建镜像仓库}/{镜像}:tag
```

### 3.2 拉取镜像

```
docker pull uhub.genesissai.com/{已创建镜像仓库}/{镜像}:tag
```

## 4.  使用限制

1. 单个镜像最多保留 800 个 Tag，超过 800 个后，一个月内未被拉取的 Tag 及相关镜像将会被删除，优先删除较早上传的镜像。

2. 镜像大小不做限制，但单层镜像超过 5G 将有推送失败的可能。

3. 外网拉取镜像速度限制为 1MB/s 每层。

4. 暂不支持内网拉取镜像的地域：华南（泉州）。
