容器镜像服务 CCR
产品动态
功能名称 | 功能描述 | 发布时间 | 发布地域 | 相关文档 |
---|---|---|---|---|
全部功能 | 容器镜像服务首次公测,请联系客户经理申请试用。 | 2022-11-30 | 全部 | - |
镜像标签、云产品对接 | 新增为镜像添加具有 AI 属性的自定义标签能力,与高性能 AI 算力池、云容器实例和 云开发机对接完成,可在云产品创建资源实例时选择 CCR 中的私有镜像 | 2022-12-31 | 全部 | - |
支持命名空间退订、续订 | 新增命名空间的退订、续订能力,可在资源到期前退订或在资源未释放前续订继续使用 | 2023-03-31 | 全部 | - |
新增镜像中心与镜像构建 | 新增镜像中心可供拉取官方镜像,提供镜像构建能力,通过基础镜像和自定义配置一键生成新镜像并自动推送至指定命名空间 | 2023-06-15 | 全部 | - |
镜像构建支持添加context地址 | 镜像构建时,支持通过指定context地址构建镜像 | 2023-11-30 | 全部 | - |
支持修改命名空间是否支持公网 | 命名空间默认允许公网访问,支持租户管理员配置公网访问策略 | 2024-03-31 | 全部 | - |
支持命名空间扩容 | 命名空间容量不够时,可以进行扩容 | 2024-05-31 | 全部 | - |
镜像构建功能暂时下线 | 因安全原因,镜像构建功能暂时下线 | 2024-07-31 | 全部 | - |
丰富镜像详细使用信息 | 镜像管理界面支持查看镜像使用总量和最近一次使用时间 | 2024-09-30 | 全部 | - |
产品介绍
什么是容器镜像服务
容器镜像服务 CCR(Sensecore Cloud Container Registry)是支持容器镜像全生命周期管理的安全托管平台,提供易用可靠的镜像管理功能。
容器镜像服务是为容器镜像、Helm Chart 等符合 OCI 标准的云原生制品提供全生命周期管理的安全托管平台,提供易用但可靠的镜像管理能力,助力开发者以更灵活的方式进行 AI 任务的训练。
容器镜像服务主要具备以下功能:
- 全生命周期管理
支持多种原生制品的推送、拉取和清理等全生命周期的托管能力,可为镜像添加AI特性标签以便分类管理。
- 多维度安全保障
支持内外网访问控制,镜像安全扫描等功能,保障数据安全及访问合规。
- 细粒度权限管控
提供容器镜像隔离能力,细粒度权限管理,支持为不同用户分配相应的访问权限。
- 无缝对接云产品
无缝对接ACP、CCI和AICL等云产品,为AI训练和应用部署提供个性化能力支持。
产品优势
容器镜像服务以安全可靠为前提,通过简易的流程操作,提供开放兼容的原生制品托管服务。
- 原生兼容
支持容器镜像、Helm Chart等符合OCI标准的云原生制品全生命周期管理。
- 简单易用
将用户从搭建和运维镜像仓库等繁复工作中解放,只需关注业务本身,即可通过简易操作和流程享受极致的云服务体验。
- 安全可靠
具备VPC和公网的网络访问控制,支持镜像安全扫描并提供多维度漏洞报告,保障用户业务安全。
应用场景
制品全生命周期管理
提供对制品包括推送、拉取和同步的全生命周期管理能力,对AI应用落地过程中的所有制品进行统一精细化管理。
- 拥有全面的镜像权限管理体系,便于团队协作管理
- 支持稳定快速的镜像上传、下载服务
AI开发训练
为AI开发者准备了常见的预置镜像,同时提供灵活的自定义能力适合特殊场景下的深度学习引擎和开发库需求。
- 提供常见 AI 应用落地所需镜像,定期同步官方镜像最新版本
- 与云产品无缝集成,快速上传自定义镜像用于开发训练或应用部署
计费说明
容器镜像服务采取包年包月的计费方式,通过购买命名空间的容量进行收费。
资源类型 | 规格属性 | 计费方式 |
---|---|---|
命名空间 | 容量 | 包年包月,购买时一次性付费(容量以GB为单位,购买时长以月和年为单位) |
基本概念
名词 | 解释 |
---|---|
容器 | 一个通过容器镜像创建的运行实例,一个节点可运行多个容器。容器的实质是进程,但与直接在宿主机执行的进程不同,容器进程运行于属于自己的独立命名空间。 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。。 |
容器镜像 | 容器镜像是一种容器化标准交付物,用于打包应用程序及其依赖的环境。可以基于Dockerfile文件将应用构建为容器镜像并上传到容器镜像仓库中,然后您可以在测试或者生产环境中拉取容器镜像并启动容器。 |
命名空间 | 命名空间用于管理多个具有关联属性的镜像仓库及 Helm Chart,不直接存储容器镜像及 Helm Chart,可映射为企业内部的组织团队、产品项目或个人。 |
OCI 规范 | 除容器镜像之外,CCR还支持将不同用途的数据(Helm Chart、CNAB等制品)依照OCI Artifact规范定义的结构(清单、索引等)打包成符合OCI规范的制品,实现不同类型制品统一存储、管理和分发。 |
授权管理
容器镜像服务拥有精细化的权限管理,您可以使用用户访问控制 IAM 为所需用户进行以下角色授权。通过角色授权可使团队内的其他用户拥有您创建命名空间的不同权限,以便进行团队合作。用户授权操作可参考【大装置帮助中心-新手引导-如何为用户授权】
角色名称 | 角色说明 | 角色权限 |
---|---|---|
命名空间创建者 | 可以创建命名空间 | ccr.namespace.create(创建) |
命名空间开发者 | 拥有命名空间内镜像的操作权限,可进行镜像的上传、拉取和删除操作 | ccr.namespace.get(获取信息)、ccr.namespace.operate(管理镜像) |
命名空间所有者 | 拥有命名空间的完全访问权限 | ccr.namespace.ownData(完全访问权限)、ccr.namespace.delete(删除)、ccr.namespace.setIamPolicy(授予权限)、ccr.namespace.operate(管理镜像)、ccr.namespace.unsubscribe(退订)、ccr.namespace.unSetIamPolicy(移除权限)、ccr.namespace.renew(续订) |
快速入门
容器镜像服务是为容器镜像等云原生制品提供全生命周期管理的安全托管平台,提供易用但可靠的镜像管理能力,本文将介绍如何快速使用 CCR 推送和拉取镜像。
步骤一:创建命名空间
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择命名空间。
- 点击创建命名空间,完成基本信息的配置,即可购买命名空间。
- 当命名空间状态由创建中转变为运行中,即可正常使用。
参数类型 | 参数 | 参数说明 |
---|---|---|
购买信息 | 计费模式 | 容器镜像服务提供包年包月的计费方式,可选择按年计费还是按月计费。 |
地区和可用区 | 选择该命名空间创建的地区和可用区。 | |
资源配置 | 选择产品 | 选择下单的产品,此为容器镜像服务。 |
访问级别 | 选择命名空间的访问级别,分为私有和公开。 公开:公开命名空间下的所有镜像默认为公开镜像,所有人都可根据镜像地址进行拉取。 私有:私有命名空间下的所有镜像默认为私有镜像,只有对命名空间中镜像有拉取权限的用户才可拉取。 | |
存储容量 | 填写希望购买的容量数量 | |
基本信息 | 订阅和资源组 | 选择资源所属的订阅和资源组。 |
命名空间名称 | 填写命名空间的名称,支持小写英文字母、数字及短线“-”,小写英文开头,1-63个字符。 |
步骤二:推送拉取镜像
点击镜像管理进入镜像列表,命令行操作需要在Docker客户端进行,请提前安装和配置Docker客户端。以下命令可在创建命名空间后,进入【镜像管理】模块并点击“客户端上传”,鼠标移动至命令旁即可复制。
请注意:镜像仓地址会根据环境不同发生变化,使用时可直接点击“客户端上传”以其提供的地址为准,以下地址仅供参考。
使用以下命令,登录容器镜像服务 Docker Registry,当显示login succeeded,表示登录成功。
docker login registry.sensecore.cn --username [用户名] --password [密码]
使用以下命令为镜像打标签。
docker tag [镜像名称:镜像版本] registry.sensecore.cn/[命名空间]/[镜像名称:镜像版本]
使用以下命令推送镜像。在镜像管理页面点击已上传的镜像名称进入版本管理,在版本管理页面可以看到推送的镜像和相关的版本名称、镜像大小、Digest 信息,说明推送镜像成功。
docker push registry.sensecore.cn/[命名空间]/[镜像名称:镜像版本]
使用以上命令可拉取镜像。
docker pull registry.sensecore.cn/[命名空间]/[镜像名称:镜像版本]
步骤三:添加标签
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理。
- 在镜像管理页面点击添加标签按钮,即可自定义该镜像的个性化标签,添加完成后在高性能 AI 算力池、云容器实例和 云开发机创建资源实例和任务时均可用以筛选镜像。
列名 | 含义 |
---|---|
通用标签 | 所属子产品与芯片类型为通用标签(必填项),您在高性能 AI 算力池、云容器实例和 云开发机创建资源实例和任务时,会根据通用标签进行镜像的筛选,请正确选择标签内容以免无法选择到所需镜像 |
非通用标签 | 非通用标签具有操作系统、驱动、开发语言、训练框架、加速库和模型算法等内容,可自由填写对应的标签值 |
系统标签 | 系统标签为镜像来源,当镜像为用户在 CCR 中通过客户端上传则镜像来源为本地,当镜像为云开发机的镜像快照则镜像来源为快照,此标签为系统自动生成 |
操作指南
命名空间
管理命名空间
应用场景
当您初次进入容器镜像服务后,需先以容量为规格购买命名空间资源,完成购买后即可在命名空间中托管镜像。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择命名空间。
- 点击创建命名空间,即可购买命名空间。
- 点击退订即可对未到期的命名空间进行退订。
- 点击续订即可对未释放的命名空间进行续订并正常使用。
参数类型 | 参数 | 参数说明 |
---|---|---|
购买信息 | 计费模式 | 容器镜像服务提供包年包月的计费方式,可选择按年计费还是按月计费。 |
地区和可用区 | 选择该命名空间创建的地区和可用区。 | |
资源配置 | 选择产品 | 选择下单的产品,此为容器镜像服务。 |
访问等级 | 选择命名空间的访问级别,分为私有和公开。 公开:公开命名空间下的所有镜像默认为公开镜像,所有人都可根据镜像地址进行拉取。 私有:私有命名空间下的所有镜像默认为私有镜像,只有对命名空间中镜像有拉取权限的用户才可拉取。 | |
规格 | 填写希望购买的容量数量 | |
基本信息 | 订阅和资源组 | 选择资源所属的订阅和资源组。 |
命名空间名称 | 填写命名空间的名称,支持小写英文字母、数字及短线“-”,小写英文开头,1-63个字符。 |
修改命名空间是否支持公网访问
应用场景
命名空间默认允许公网访问,仅支持租户管理员统一配置公网访问策略,当配置了“不允许公网访问“,租户下的所有用户均不可上传或拉取镜像
操作步骤
登录容器镜像服务控制台。
在左侧导航栏,选择命名空间,点击【操作-更多-修改】。
- 修改命名空间是否支持公网访问。
镜像管理
查看镜像列表
应用场景
您可以通过容器镜像服务中的镜像管理查看已有的镜像和详情信息。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理。
- 在镜像管理页面可以查看指定镜像的详细信息,镜像列表中的各项含义如下:
列名 | 含义 |
---|---|
镜像名称 | 该镜像的名称 |
镜像标签 | 可为镜像打上具有 AI 属性的自定义标签 |
所属命名空间 | 该镜像所属命名空间 |
镜像地址 | 该镜像的地址,您可在公网和Sensecore内网中拉取到该镜像 |
版本数 | 该镜像所具备的所有版本数量 |
创建时间 | 该镜像的第一次上传时间 |
操作 | 支持管理和删除镜像 |
客户端上传镜像
应用场景
您可以通过客户端上传镜像至容器镜像服务中的命名空间,并对镜像进行管理。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理。
- 点击客户端上传,复制 docker login 命令以此登录Sensecore容器镜像服务Docker Registry。
- 复制 docker tag 命令为镜像添加版本信息,使用 docker push 命令向 Registry 中推送镜像。
管理镜像
应用场景
您可以通过容器镜像服务中的镜像管理查看镜像的基本信息和每个版本的详情。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理。
- 在镜像管理页面点击管理按钮,进入镜像详情即可查看基本信息、版本信息和操作指南。
- 通过版本管理模板可查看该镜像的多个版本信息,可选择性删除,版本管理列表中的各项含义如下:
列名 | 含义 |
---|---|
版本名称 | 镜像的版本名称,如果重复上传同版本号镜像会导致版本名失效,为避免占用空间容量,请您尽快删除 |
镜像大小 | 该版本镜像所占用的空间大小 |
Digest | 镜像的摘要信息,当您下载镜像时,最后一行中会出现这个值 |
更新时间 | 该版本镜像的最新更新时间 |
操作 | 支持删除镜像版本 |
添加标签
应用场景
您可以通过容器镜像服务中的添加标签功能为镜像增加具有 AI 属性的自定义标签,以此对具有同种特征的镜像进行分类管理。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理。
- 在镜像管理页面点击添加标签按钮,即可自定义该镜像的个性化标签,标签所具备的内容如下:
列名 | 含义 |
---|---|
通用标签 | 所属子产品与芯片类型为通用标签(必填项),您在高性能 AI 算力池、云容器实例和 云开发机创建资源实例和任务时,会根据通用标签进行镜像的筛选,请正确选择标签内容以免无法选择到所需镜像 |
非通用标签 | 非通用标签具有操作系统、驱动、开发语言、训练框架、加速库和模型算法等内容,可自由填写对应的标签值 |
系统标签 | 系统标签为镜像来源,当镜像为用户在 CCR 中通过客户端上传则镜像来源为本地,当镜像为云开发机的镜像快照则镜像来源为快照,此标签为系统自动生成 |
镜像构建(暂时下线)
应用场景
您可以使用镜像构建功能基于 Sensecore 提供的官方镜像,或使用 Dockerfile 进行私有镜像的构建。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理。
- 点击镜像构建,并填写镜像信息和构建配置,目前每个命名空间仅能支持同时构建不超过5个私有镜像。
参数 | 参数说明 |
---|---|
命名空间 | 选择镜像存储的命名空间,构建成功后会自动将镜像推送至该命名空间。 |
镜像名称及版本 | 以镜像名称:版本的格式填写内容。镜像名称支持1~63位可见字符,只包含小写字母、数字、中划线、下划线、点(不连续),且不支持以中划线或下划线为首位或末尾。 版本支持1~128位可见字符,包含字母、数字、中划线、下划线、点,且不支持以中划线或点为首位。 |
构建方式 | 可选择基于现有镜像或基于 Dockerfile 的方式。 |
镜像类型(基于现有镜像) | 可选择基于 Sensecore 的官方镜像或基于已经上传的私有镜像。 |
基础镜像(基于现有镜像) | 可选择基于镜像的镜像名称和版本号。 |
Dockerfile | 可填写 Dockerfile 内容,点击右侧的下载按钮可下载最新的 Dockerfile 文件。 |
注意事项 | 目前镜像构建功能基于CPU服务器,不支持依赖GPU卡的镜像构建; Docker镜像源可能会导致拉取时间过长或失败,建议使用容器镜像服务地址做为基础构建镜像源; 一些外网地址显示连接失败或者访问超时,导致镜像构建失败,不建议访问类似公网地址; apt-get和yum-repo等源问题,可能会导致更新或安装软件包失败,建议使用国内源; pip源问题,可能会导致pip下载和安装失败,建议使用国内源并在Dockerfile中指定地址; 镜像构建过程中如遇内存超限问题,镜像构建会失败,需提前优化Dockerfile并降低构建过程中的内存使用; |
- 填写信息点击确认后,转跳至构建记录列表并查看镜像构建的基本信息。
列名 | 含义 |
---|---|
构建 ID | 构建记录的唯一标识。 |
镜像名称 | 构建镜像时填写的镜像名称。 |
镜像版本 | 构建镜像时填写的镜像版本号。 |
Dockerfile | 构建镜像时填写的 Dockerfile,点击可通过弹框内容重新查看。 |
开始时间 | 镜像构建的开始时间。 |
耗时(秒) | 此次镜像构建的总耗时。 |
构建状态 | 镜像构建的状态,可分为构建中、成功和失败。 |
查看日志 | 点击可通过弹框内容查看构建的日志信息,当构建失败时可通过日志信息进行排查和调整。 |
镜像中心
应用场景
您可以在镜像中心查看 Sensecore 提供的所有官方镜像信息,并通过地址拉取至本地。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像中心并查看官方镜像信息。
列名 | 含义 |
---|---|
镜像名称 | 官方镜像的镜像名称。 |
镜像地址 | 官方镜像的镜像地址,点击地址右侧的图标可直接复制。 |
详情 | 点击可转跳至官方镜像详情。 |
版本名称 | 官方镜像的版本名称。 |
镜像大小 | 该版本的镜像大小。 |
Digest | 该镜像的摘要信息。当您下载镜像时,最后一行中会出现这个值。 |
更新时间 | 该版本镜像的最新更新时间。 |
指定context地址构建镜像(暂时下线)
应用场景
您可以在构建镜像时通过context地址指定文件。
准备步骤
- 提前将镜像构建所需文件打包为tar.gz格式压缩包
- 登录您的对象存储控制台。
- 选择需要存放ccr dockerfile的桶,并上传。
- 复制dockerfile的文件地址。
操作步骤
- 登录容器镜像服务控制台。
- 在左侧导航栏,选择镜像管理,点击【构建镜像】。
- 构建镜像时将准备步骤4中复制的地址粘贴到【上下文地址中】。