镜像
一站式 AI 平台(AIStudio)提供镜像服务,提供预置镜像,也可以方便地构建和管理自定义镜像。
预置镜像
平台预置了多种基础镜像。您可以直接使用这些预置镜像,也可基于预置镜像构建自定义镜像。
- CUDA: 来自 nvidia/cuda 镜像仓库
- NGC: 来自 NGC Pytorch 镜像仓库
- Pytorch:来自 pytorch/pytorch 镜像仓库
- Ubuntu: 来自 Ubuntu 官方的基础镜像
NOTE
当前租户已在平台上创建的自定义镜像,均会展示在自定义镜像标签页。详见构建镜像。
自定义镜像
非预置镜像均称为自定义镜像,租户的自定义镜像均保存在智算云平台租户私有镜像仓库。
自定义镜像来源
- 在镜像中心直接构建,可基于现有镜像、基于 dockerfile 创建镜像,或直接保存运行中的开发机为镜像。详见构建自定义镜像。
- 将外部镜像迁移到智算云平台的镜像中心,作为自定义镜像,外部镜像需要满足基础组件要求,才能在平台所有服务模块(开发机、任务、推理服务)中正常使用。详见迁移外部镜像。
使用范围
自定义镜像可以用于平台所有服务模块(开发机、任务、推理服务),也可限制为仅用于部分服务模块。
镜像的「可用服务」配置可用于限制镜像的使用范围。自定义镜像和预置镜像均带有该属性。
每个镜像可能适用于一种或多种服务:
- 开发机
- 任务
- 推理服务
NOTE
通过开发机自行上传的镜像默认适用于开发机、任务和推理服务。
租户镜像仓库
租户将在智算云平台的 Docker Registry 服务上获得私有的租户镜像仓库,用于存放租户的自定义镜像。
仓库地址
租户私有镜像仓库以租户 ID 为仓库名,地址格式为:
cr.infini-ai.com/<tenant_id>
示例:
cr.infini-ai.com/te-c7va2fg6uawxdzkf/
NOTE
以上仓库地址不提供公网访问。
镜像地址
租户私有仓库中的自定义镜像地址格式为:
cr.infini-ai.com/<tenant_id>/<image_name>:<image_tag>
示例:
cr.infini-ai.com/te-c7va2fg6uawxdzkf/alpine:latest
其中:
cr.infini-ai.com
是智算云平台 Docker Registry 服务器地址。te-c7va2fg6uawxdzkf
是租户的私有仓库名称,与租户 ID 相同。alpine:latest
是镜像名称和镜像标签。
多可用区与镜像仓库地址
租户购买包年包月资源,或购买弹性资源(指创建按量付费开发机),智算云平台会为租户在该可用区创建一个独立的租户镜像仓库。
例如,租户购买了「江苏 A」可用区的包年包月资源,同时使用「广东 B」可用区的弹性资源创建了按量付费型开发机,则平台会为租户在「江苏 A」和「广东 B」可用区各创建一个租户私有镜像仓库。
注意:
- 租户各可用区的镜像仓库之间数据隔离,享有独立的存储空间,暂不支持自动同步。
- 租户各可用区的镜像仓库存储空间额度与过期时间可能不同。
cr.infini-ai.com/<tenant_id>
永远指向当前租户在当前可用区的私有镜像仓库,无法用于跨可用区访问私有镜像仓库。- 不同可用区镜像仓库之间网络隔离。要跨可用区迁移镜像,步骤与从公网向租户私有镜像仓库推送镜像相同。您需要使用当前可用区的开发机拉取本可用区镜像,登录目标可用区的镜像仓库后再推送镜像。智算云平台将提供具体的地址和登录凭证。详见迁移外部镜像。
- 租户新增自定义镜像时,可能会要求指定一个可用区。例如,在镜像中心快速构建镜像 中要求指定「镜像构建资源池」,该配置项即指定了可用区。
- 在启用了「Docker 容器」功能的开发机上,平台默认登录与开发机同可用区的租户私有镜像仓库,无需执行
docker login
。
存储空间
租户镜像仓库使用独立的镜像存储。获取租户镜像仓库后,租户可免费一定容量的存储空间。
- 租户购买预付费资源(包两年/包年/包月/包日)后,可免费使用 200 GiB 的私有仓库存储空间。仅在租户资源所在可用区提供私有镜像仓库。
- 租户使用弹性资源创建开发机,可免费使用 100 GiB 的私有仓库存储空间。仅在弹性资源所在可用区提供私有镜像仓库。
- 租户私有镜像仓库存储空间不会叠加。例如,租户在可用区 A 购买了预付费资源(包两年/包年/包月/包日),又选择了同可用区的弹性资源创建开发机,则租户镜像仓库存储空间依然为 200 GiB。
- 租户私有镜像仓库存储空间可自动升级。例如,租户选择了可用区 A 的弹性资源创建开发机,获得了 100 GiB 的镜像仓库存储空间。随后在可用区 A 购买了预付费资源(包两年/包年/包月/包日),则租户镜像仓库存储空间升级为 200 GiB。
- 租户私有镜像仓库存储空间不会降级。例如,租户在可用区 A 已获得 200 GiB 的镜像仓库存储空间。租户在可用区 A 的预付费资源(包两年/包年/包月/包日)到期后,只要租户使用了同可用区的弹性资源开发机,可保有 200 GiB 的镜像仓库存储空间,不会降级为 100 GiB。
- 租户在多个可用区均购买了计算资源,则平台将在每个可用区均创建一个租户镜像仓库。各个镜像仓库均独立享有免费存储空间。具体存储空间大小以上述规则为准。
- 租户在不同可用区镜像仓库的数据、存储、网络均相互隔离,暂不支持镜像同步(但共用同一个内网地址)。例如,可用区 A 向
cr.infini-ai.com/te-b914754427352251
推送镜像,平台自动映射到可用区 A 的镜像仓库,可用区 B 无法使用该镜像。
回收策略
在一个可用区,如果仅使用弹性资源创建开发机,租户镜像仓库的回收策略如下:
在一个可用区,如果拥有包年包月资源,租户镜像仓库的回收策略如下:
在一个可用区,如果包年包月资源到期时,租户仍拥有使用弹性资源创建的开发机,租户镜像仓库的回收策略如下:
WARNING
私有镜像仓库回收后,使用该私有镜像仓库中的自定义镜像的开发机将无法再次启动。
NOTE
上面未涉及的其他情况,租户私有镜像仓库将按照以上规则中算出的最晚日期回收。
添加自定义镜像
- 在镜像中心构建自定义镜像:通过网页操作,通过现有开发机、现有镜像、Dockerfile 构建自定义镜像,存储在租户镜像仓库中。
- 迁移外部镜像:暂时可借助开发机的「Docker 功能」,将外部镜像导入到租户镜像仓库中。
- 在开发机内保存自定义镜像:借助开发机的「Docker 功能」,使用
docker commit
将开发机内部容器保存为镜像,并推送至租户镜像仓库。也可使用 Docker 命令直接拉取镜像和启动容器。
常见问题
如何查看当前可用区的租户私有镜像仓库地址?
「当前可用区」指当前实例(开发机、任务、推理服务等)所在的可用区。通过以下方式获取的地址仅可在智算云平台内网使用,不提供公网访问。
方式一:自行拼接。租户私有镜像仓库以租户 ID 为仓库名,地址格式为:
cr.infini-ai.com/<tenant_id>
。该地址仅支持在平台内网使用,永远指向当前实例(开发机、任务、推理服务等)所在可用区的租户私有镜像仓库。方式二:如果已存在自定义镜像,可访问镜像中心,查看现有的「自定义镜像」地址,从中获取仓库地址。
方式三:开发机开启了 「Docker 容器」功能后,登录时展示的 SSH banner 中自动展示仓库地址,格式为:
cr.infini-ai.com/<id>
。开启了 Docker 容器功能的开发机 SSH banner 示例:
shell=============================INFINI-AI============================= 欢迎使用一站式AI平台开发机服务! ═══════════════════════════════════ PATH 类型 / 系统盘(上限50G) /mnt/public 共享高性能存储 ═══════════════════════════════════ ..... 3. 使用 docker 容器 push 镜像的地址为:cr.infini-ai.com/te-b914754427352251 ...... =================================================================== root@is-c7wciqfqgrvurpwo-devmachine-0:~$
如何登录当前可用区的租户私有镜像仓库?
智算云平台默认登录与开发机同可用区的租户私有镜像仓库(cr.infini-ai.com/<tenant_id>
),无需执行 docker login
进行登录。
如果您需要登录,请执行 docker login cr.infini-ai.com
命令。平台会自动完成登录,无需手动输入密码。
root@is-daicmdwt4s33tzhx-devmachine-0:/# docker login cr.infini-ai.com
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in/tmp/docker-config/config.json
Configure a credential helper to remove this warning.See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
如何获取公网可访问的租户镜像仓库地址?
不同可用区有独立的 Docker Registry 服务器。通用域名 cr.infini-ai.com
永远指向当前实例(开发机、任务、推理服务等)所在可用区的 Docker Registry 服务器。
如果需要从公网向智算云平台的租户私有镜像仓库推送镜像,则需要使用与可用区对应的 Docker Registry 服务器地址。智算云平台为您提供详细仓库地址和登录验证方式。详见迁移外部镜像。
可否通过远程仓库 URL 导入外部镜像?
支持。可以通过公网可访问的远程仓库 URL(支持账户密码验证) 导入外部镜像为租户自定义镜像。参考迁移外部镜像。
可否直接上传本地镜像压缩包文件到镜像中心?
支持。在本地上传 tar 文件至开发机,倒入后直接推送至镜像中心,参考迁移外部镜像。
可否从公网推送到租户镜像仓库?
支持。可从公网推送本地镜像到租户镜像仓库。参考迁移外部镜像。
可否将开发机直接保存为镜像?
支持。您可以在开发机内安装必要软件,通过构建镜像,将当前运行中的开发机保存为镜像。使用前请务必阅读文档,并了解限制和注意事项。