文档首页/ 云容器实例 CCI/ 最佳实践/ 镜像管理/ 如何下载企业仓镜像
更新时间:2025-08-12 GMT+08:00

如何下载企业仓镜像

本章节介绍如何拉取企业仓库中的镜像。

使用场景

需要使用企业仓库中的镜像。

约束与限制购买

  • 已有容器镜像服务企业仓库,操作步骤可参见购买仓库
  • 仓库中已上传镜像,操作步骤可参见镜像仓库
  • 使用SWR企业版镜像仓库镜像时,请确保工作负载运行的节点可访问对应的企业版镜像仓库实例。

创建SWR企业版镜像仓库密钥

  1. 登录容器镜像服务(企业版),进入希望拉取的企业仓,左侧导航栏选择“访问管理->访问控制”,单击右上角“创建内网访问”并配置在CCI 2.0中命名空间使用的VPC和子网。创建成功后记录可供访问的IP地址。

  2. 左侧导航栏选择“访问管理->域名管理”,记录默认域名(默认域名不可编辑)。

  3. 左侧导航栏选择“访问管理->访问凭证”,单击“新建长期凭证”创建凭证并下载csv文件。

  4. 登录云解析服务DNS控制台,单击左侧导航栏“内网域名”,再单击右上角“创建内网域名”,配置在CCI 2.0中命名空间使用的VPC和步骤2中的默认域名。

  5. 内网域名创建完成后,进入详情添加记录集,配置步骤1中获得的IP地址。

  6. 登录云容器实例CCI 2.0控制台,在左侧导航栏选择“配置中心”,选择“密钥(Secret)”,单击“YAML创建”。创建secret,secret示例如下:

    kind: Secret
    apiVersion: cci/v2
    metadata:
      name: ${secret_name}                      # secret名称
    data:
      .dockerconfigjson: ${access_credential}   # 访问swr企业仓的凭证
    type: kubernetes.io/dockerconfigjson

    ${access_credential},为json格式化的凭证base64编码后的结果,按如下方法获取:

    将步骤3获取的csv文件内容填入以下命令中:
    echo -n '{"auths":{"${url}":{"username":"${user_name}","password":"${password}"}}}' | base64 | sed ':a;N;$!ba;s/\n//g'
    ${url}为步骤2中的默认域名,${user_name}为csv文件中的用户名,${password}为csv文件中的密码。
    执行该命令,获得base64编码后的访问凭证,填入secret yaml中的${access_credential}中,最后创建secret。

  7. 单击左侧导航栏“负载管理”,选择无状态负载,单击“YAML创建”。

  8. 使用企业仓镜像创建无状态负载,yaml示例如下:

    kind: Deployment
    apiVersion: cci/v2
    metadata:
      name: swr-test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: swr-test
      template:
        metadata:
          labels:
            app: swr-test
        spec:
          containers:
            - name: container0
              image: ${image:tag}   # 企业仓镜像地址,可从SWR镜像管理处查询,模板为${url}/${namespace}/${image-name}@sha256:${sha256}
              resources:
                limits:
                  cpu: 500m
                  memory: 1Gi
                requests:
                  cpu: 500m
                  memory: 1Gi
          imagePullSecrets:
            - name: ${secret-name}  # 步骤6中创建的secret名称

  9. 查看创建出的pod事件,观察拉取镜像是否成功。