# 推送镜像制品到镜像仓库
#### 操作场景
推送镜像制品（推送也叫上传，镜像制品也叫镜像或者制品），可以帮助您将本地的镜像制品推送到容器镜像服务的制品仓库中，更方便的管理您的镜像制品。通过容器引擎客户端推送镜像制品到制品仓库。
容器引擎客户端上传镜像，是指在安装了容器引擎客户端的机器上使用Docker命令或者ctr命令将镜像上传到容器镜像服务的镜像仓库。如果是Docker容器引擎客户端则使用docker push命令上传。如果是**containerd** 容器引擎客户端则使用ctr push命令上传。
![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/note_3.0-zh-cn.png)
容器引擎客户端推送镜像既可走内网链路也可走外网链路。详情请参见[配置访问网络](https://support.huaweicloud.com/bestpractice-swr/swr_bestpractice_0013.html)。
#### 前提条件
推送镜像制品前，您需要完成如下工作：
- 已经[购买注册表](https://support.huaweicloud.com/usermanual2-swr/swr_02_0408.html)并设置了注册表的访问权限，具体请参见[访问控制概述](https://support.huaweicloud.com/usermanual2-swr/swr_02_0448.html)。
- 已经[创建访问凭证](https://support.huaweicloud.com/usermanual2-swr/swr_02_0422.html)。

- 已创建命名空间，请参见[创建命名空间](https://support.huaweicloud.com/usermanual2-swr/swr_02_0413.html#swr_02_0413__section54551244316)。
- 已准备好容器引擎客户端，这台计算机已在[访问控制](https://support.huaweicloud.com/usermanual2-swr/swr_02_0447.html)中定义的公网或内网允许访问范围内。
 
#### 约束与限制
- 使用Docker容器引擎客户端上传镜像时，需确保Docker容器引擎客户端版本必须为18.06及以上。
- 使用containerd容器引擎客户端上传镜像时，需确保containerd容器引擎客户端版本必须为1.5.0及以上。
- 镜像的每个layer层大小不能超过10G。
- 单个企业注册表实例上传镜像的并发个数最大为160个。
 
#### 容器引擎客户端推送镜像
请参考下面的Docker容器引擎客户端和containerd容器引擎客户端的操作指导完成镜像的推送。
Docker容器引擎客户端
1. 以root用户登录容器引擎客户端所在主机。
2. 参考[访问凭证](https://support.huaweicloud.com/usermanual2-swr/swr_02_0422.html)获取临时或者长期访问凭证并在容器引擎客户端主机上执行访问凭证命令登录注册表。
   登录成功会显示"Login Succeeded"。
   ![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/caution_3.0-zh-cn.png)
   临时访问凭证生成后使用时效为24小时，超过使用时效需重新生成。长期凭证不会过期可一直使用。
   
3. 执行以下命令为镜像打标签。 **docker tag** **\[镜像名称1:版本名称1\] \[注册表地址\]/\[命名空间名称\]/\[镜像名称2:版本名称2\]**
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002461269613.png)
   其中：
   - **\[镜像名称1:版本名称1\]**请替换为您所要上传的实际镜像的名称和版本名称。
   
   - **\[注册表地址\]** 为注册表的访问地址，获取方式如下：
     由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，单击注册表名称进入注册表详情页面，在"总览-基本信息"页面获取访问地址。
     ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002724912310.png)
     
     
     
     
     
   
   - **\[命名空间名称\]** 请替换为您在[创建命名空间](https://support.huaweicloud.com/usermanual2-swr/swr_02_0413.html#swr_02_0413__section54551244316)中创建的命名空间。
   
   - **\[镜像名称2:版本名称2\]**请替换为您期待的镜像名称和版本名称。
    
4. 上传镜像至注册表。 **docker push** **\[注册表地址\]/\[命名空间名称\]/\[镜像名称:版本名称\]**
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002461389505.png)
   
5. 在镜像详情页面镜像制品列表中可查看到对应的镜像制品信息。 ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002461269625.png)
   
   ![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/note_3.0-zh-cn.png)
   镜像推送成功以后，您可以在CCE控制台创建工作负载。
   
 
containerd容器引擎客户端
1. 由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台。
2. 在新打开的"注册表"页面，单击注册表名称进入注册表详情页面。
3. 单击左侧菜单栏的"仓库""进入"仓库"页面。单击您的镜像名称操作列的"快速指令"进入containerd页签。
4. 在containerd页签，单击ctr -n k8s.io image tag后面的复制按钮复制打标签指令。
5. 以root用户登录containerd引擎所在的主机，执行[4]复制的指令为您的镜像打上tag。请把命令中的参数替换为实际的值之后再执行。
   **ctr -n k8s.io image tag \[镜像名称1:版本名称1\] \[注册表地址\]/\[命名空间名称\]/\[镜像名称2:版本名称2\]**
   其中：
   - **\[镜像名称1:版本名称1\]**请替换为您所要上传的实际镜像的名称和版本名称。
   
   - **\[注册表地址\]** 为注册表的访问地址，获取方式如下：
     由于容器镜像服务企业版目前处于公测阶段，如果您的租户登录页面后看不到"企业版"链接，请提交[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请入口。申请成功后，登录容器镜像服务企业版控制台，在页面左上角切换Region到您所在的Region，在新打开的注册表页面，单击注册表名称进入注册表详情页面，在"总览-基本信息"页面获取访问地址。
     ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002427952502.png)
     
     
   
   - **\[命名空间名称\]** 请替换为您在[创建命名空间](https://support.huaweicloud.com/usermanual2-swr/swr_02_0413.html#swr_02_0413__section54551244316)中创建的命名空间。
   
   - **\[镜像名称2:版本名称2\]**请替换为您期待的镜像名称和版本名称。
   
   
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002461631025.png)
   
6. 在containerd页签，单击ctr -n k8s.io image push后面的复制按钮复制推送指令并修改版本名称为[5]中您所打的tag。
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002461511141.png)
   ![](https://support.huaweicloud.com/usermanual2-swr/public_sys-resources/note_3.0-zh-cn.png)
   该指令将于24个小时后过期。若需要长期有效的上传指令，请参见[访问凭证](https://support.huaweicloud.com/usermanual2-swr/swr_02_0422.html)。
   
7. 检查镜像是否推送成功。
   ![](https://support.huaweicloud.com/usermanual2-swr/zh-cn_image_0000002427952510.png)
   
   
 
#### 相关文档
镜像推送常见问题，请参见[镜像推送问题](https://support.huaweicloud.com/swr_faq/swr_faq_0039.html)。
