文档首页/ 容器镜像服务 SWR/ 快速入门(企业版)/ 使用企业版注册表上传镜像
更新时间:2026-06-10 GMT+08:00
分享

使用企业版注册表上传镜像

入门指引

容器镜像服务企业版提供企业级的云原生制品安全托管服务,提供容器镜像、Helm Chart,符合OCI规范制品的生命周期管理。面向具有严格数据安全及合规性要求、业务分布在多个地域、集群规模庞大的企业级容器客户;支持大规模、多地域、多场景下应用制品的高效分发;与云容器引擎CCE、云容器实例CCI无缝集成,帮助企业降低交付复杂度。

本节将介绍如何从零开始,购买容器镜像服务企业版注册表,并配置网络访问策略等,最终实现容器镜像的上传。

图1 入门流程

准备工作

在使用容器镜像服务企业版之前,您需要完成注册华为云、实名认证的准备工作。

如果您还没有华为云账号,请参考以下步骤创建。

  1. 打开https://www.huaweicloud.com/,单击“注册”
  2. 根据提示信息完成注册,详细操作请参见注册华为账号并开通华为云个人实名认证。注册成功后,系统会自动跳转至您的个人信息界面。

一、安装容器引擎

首先,您需要准备一台虚拟机并安装docker容器引擎,请确保容器引擎为1.11.2及以上版本。

  1. 参考购买并登录Linux弹性云服务器创建一台带有弹性公网IP的Linux弹性云服务器。

    作为演示,弹性云服务器和公网IP的规格不需要太高,例如弹性云服务器的规格为“1vCPUs | 2GiB”、公网IP带宽为“1 Mbit/s”即可,操作系统以选择“CentOS 7.5”为例。

    • 您也可以使用其他机器安装容器引擎,不创建弹性云服务器。
    • 如果您使用的操作系统为EulerOS,请参考EulerOS操作系统下安装
    • 如果您使用的是Centos操作系统,建议选择CentOS7、CentOS7.2、CentOS7.3、CentOS7.4、CentOS7.5、CentOS7.6操作系统版本,否则可能导致安装异常。

  2. 创建完成后返回弹性云服务器列表,单击操作列的“远程登录”,以root用户登录弹性云服务器。
  3. 使用如下命令快速安装容器引擎。

    curl -fsSL get.docker.com -o get-docker.sh
    sh get-docker.sh
    sudo systemctl daemon-reload
    sudo systemctl restart docker

二、构建镜像

  1. 在安装docker容器引擎的虚拟机上执行以下命令,下载2048应用的源码。

    git clone https://gitee.com/jorgensen/2048.git

    若提示“git: command not found”表示未安装Git工具,请先安装该工具(可使用yum install git命令)。

  2. 下载成功后,进入“2048”目录。

    cd 2048

  3. 修改Dockerfile文件。

    vim Dockerfile

    FROM nginx
    COPY . /usr/share/nginx/html
    
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]
    • FROM:指定基础镜像nginx。
    • COPY:将2048源码拷贝到容器内的“/usr/share/nginx/html”目录。
    • EXPOSE:暴露容器的80端口。
    • CMD:指定容器运行时的默认命令。

    “Esc”,输入:wq,保存并退出。

  4. 使用docker build命令构建镜像。

    docker build -t 2048 .

    其中,

    • -t表示给镜像加一个标签,也就是给镜像取名,这里镜像名为2048。
    • . 表示上下文路径,镜像构建命令将该路径下的所有内容打包给容器引擎帮助构建镜像。

  5. 执行以下命令,查看已成功构建的2048镜像,版本为默认的latest。

    docker images

    # docker images
    REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
    2048         latest    8d421c503ed0   About a minute ago   134MB
    nginx        latest    dd34e67e3371   6 days ago           133MB

    您还可以看到一个nginx镜像,这个镜像是从镜像仓库下载下来,作为2048镜像的基础镜像使用的。

  6. (可选)运行容器镜像。

    镜像构建成功后,您可以执行docker run命令运行容器镜像。

    docker run -p 8080:80 2048

    docker run命令会启动一个容器,命令中-p是将虚拟机的8080端口映射到容器的80端口,即虚拟机的8080端口的流量会映射到容器的80端口,当您在本地机器的浏览器访问“http://ECS的弹性公网IP:8080”时,就会访问到容器中,此时浏览器返回的内容就是2048应用页面。

三、购买企业版注册表

  1. 登录容器镜像服务企业版控制台。在页面左上角切换Region到您所在的Region。
  2. 单击页面右上角“创建注册表”,进入购买界面。输入以下参数,具体参数含义如下:

    • 计费模式:当前仅支持按需计费模式。
    • 所属项目:选择注册表所在区域或项目。注册表购买后区域或项目将无法更改,请根据容器集群所在地进行选择。
    • 注册表名称:输入注册表名称。该名称将直接应用于该注册表的访问地址,购买后不可修改,请谨慎填写。
    • 套餐规格:选择注册表规格。不同注册表规格具有不同的功能及配额,请参考界面上的规格对比进行选择。
    • 虚拟私有云:选择注册表所在虚拟私有云。如果没有选项可参见创建虚拟私有云和子网创建。
    • 子网:选择注册表所在子网。
    • 企业项目:针对企业用户使用,只有开通了企业项目的用户,或者权限为企业主账号的用户才可见。默认项目为“default”
    • 自定义OBS桶:可手动指定注册表的OBS桶,建议选择3AZ高可用的OBS桶。
    • OBS桶加密(静态数据存储加密):SWR企业注册表支持使用系统托管的KMS密钥和用户已有的KMS密钥对镜像进行加密。SWR使用OBS进行镜像存储,开启OBS桶加密功能,SWR可以在上传镜像时使用系统托管的KMS密钥或用户已有的KMS密钥自动进行数据加密,以提高数据存储安全。

      开启OBS桶加密会降低注册表实例性能,请您按需选择。

      • 国密加密:在开启 OBS 桶加密功能时,注册表支持选用国密算法。开启后,上传的镜像将统一采用国密算法进行加密存储,满足更高级别的合规与安全要求。
    • 标签:标签是对云上资源的一种标识。
    • 描述:输入注册表的描述。

  3. 单击右下角“立即购买”。
  4. 返回注册表,查看创建进度。当注册表状态为“运行中”时,表示当前注册表已处于可用状态。

    图2 注册表

    若注册表一直处于“创建中”,或者从列表中消失,请单击列表左上方的“操作记录”查看失败原因。若无法定位,您可新建工单联系我们。

四、配置网络访问权限

容器镜像服务企业版支持网络访问控制,新创建的企业版实例默认阻断全部访问来源,以确保您的镜像仓库内的数据安全。您可以根据业务需要配置访问控制策略,以最小范围放通业务客户端访问实例。

此处介绍如何为企业版实例配置内网访问控制。完成以下配置后,您可使用指定VPC内的云服务器通过内网访问企业仓库。

  1. 登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“访问管理 > 访问控制”
  3. 选择“内网访问”页签,单击右上角“创建内网访问”
  4. 在弹出的窗口中选择所属项目、内网IP所属VPC和子网,如图3所示。

    图3 创建内网访问

    如果下拉框需要选择的"所属项目"不是默认项目,请先切换到该项目下,访问企业注册表页面,进行授权后,再进该页面选择对应项目开通内网访问。

  5. 单击“确定”

    等待“状态”变为“正常”,且“IP”不为空时,则说明内网访问已创建成功。

    图4 内网访问

    创建完成后,就可以从已添加的内网IP网段访问注册表。

    创建内网访问会在VPC终端节点(VPCEP)服务下创建一个对应的VPC终端节点,请勿删除,否则会影响访问。

五、创建访问凭证

镜像仓库需要使用访问凭证才能访问,此处以创建临时凭证为例。

  1. 登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面。
  2. 在左侧导航栏选择“访问管理 > 访问凭证”。选择“临时凭证”页签。
  3. 选择“镜像”“chart”,单击“生成临时访问凭证”,如图5所示。

    图5 生成临时访问凭证

    临时凭证会直接显示在页面上,您可以复制后使用。

    镜像访问凭证是一条Docker命令,用于访问注册表,注册表的使用详细说明请参见镜像管理概述

六、创建命名空间

命名空间用于管理多个具有关联属性的镜像,不直接存储容器镜像,可对应企业内部的一个产品项目或部门。

  1. 登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region。在“注册表页面单击您的注册表名称进入注册表详情页面。
  2. 在左侧导航栏单击“命名空间”
  3. 在右上角单击“创建命名空间”
  4. 填写命名空间名称,选择命名空间类型。

    图6 创建命名空间

    • 公有命名空间:允许任何用户登录后下载命名空间内的制品,如需其他操作需在IAM上为用户授权。
    • 私有命名空间:需在IAM上为用户授权才可以对命名空间内的制品进行操作。

  5. 单击“确定”

    命名空间创建成功后,您可以选择列表视图或卡片视图查看命名空间详情,在右上角单击图标进行视图切换。

七、上传镜像

  1. 首先,您需要准备一台机器用于安装容器引擎,并在容器引擎上构建镜像。此处以在弹性云服务器 ECS上构建2048镜像为例。

    ECS需满足如下要求:

    • 三、购买企业版注册表中的企业版实例在同一个区域。
    • 已在四、配置网络访问权限中定义的内网允许访问范围内。
    • 安装的容器引擎版本Docker容器引擎客户端版本必须为18.06及以上,containerd容器引擎客户端版本必须为1.5.0及以上。

    详细指导请参见安装容器引擎构建镜像

  2. 在ECS上执行五、创建访问凭证中获取的访问凭证,登录注册表。

    登录成功会显示“Login Succeeded”

  3. 执行以下命令为镜像打标签。

    docker tag [镜像名称1:版本名称1] [注册表地址]/[命名空间名称]/[镜像名称2:版本名称2]

    其中:

    • [镜像名称1:版本名称1]请替换为您所要上传的实际镜像的名称和版本名称。
    • [注册表地址]为注册表的访问地址,获取方式如下:

      登录容器镜像服务企业版控制台,在页面左上角切换Region到您所在的Region,单击注册表名称进入注册表详情页面,在“总览”页面获取访问地址,如图7所示。

      图7 访问地址
    • [命名空间名称]请替换为您在六、创建命名空间中创建的命名空间。
    • [镜像名称2:版本名称2]请替换为您期待的镜像名称和版本名称。

    样例如下:

    docker tag nginx:latest test-01-2v8iom.swr.cn-east-3.myhuaweicloud.com/library/nginx:1.1.1

  4. 上传镜像至注册表。

    docker push [注册表地址]/[命名空间名称]/[镜像名称:版本名称]

    样例如下:

    docker push test-01-2v8iom.swr.cn-east-3.myhuaweicloud.com/library/nginx:1.1.1

    终端显示如下信息,表明上传镜像成功。

    fbce26647e70: Pushed 
    fb04ab8effa8: Pushed 
    8f736d52032f: Pushed 
    009f1d338b57: Pushed 
    678bbd796838: Pushed 
    d1279c519351: Pushed 
    f68ef921efae: Pushed 
    v1: digest: sha256:0cdfc7910db531bfa7726de4c19ec556bc9190aad9bd3de93787e8bce3385f8d size: 1780

    在注册表详情页面“仓库”中可查看到对应的镜像信息。

    镜像上传以后,您可以在CCE控制台创建工作负载。

相关文档