云服务器内容精选

  • 注册镜像 本文主要介绍镜像注册过程中的常见问题解释以及相关授权说明。 什么是镜像注册? ModelArts为用户提供了多种常见的预置镜像,但是当用户对深度学习引擎、开发库有特殊需求场景的时候,预置镜像已经不能满足用户需求。ModelArts提供 自定义镜像 功能支持用户自定义运行引擎。而用户的自定义镜像如果需要在ModelArts中使用时,均需在镜像管理页面中,通过使用镜像的SWR访问路径进行注册。 镜像注册时,涉及哪些授权项? 自定义镜像注册时,用户在SWR上传的镜像有可能是私有的,如果是私有镜像,ModelArts平台在创建Notebook时,可能会没有权限使用此镜像,因此在注册镜像时,将会通过自动授权的方式,将此镜像仅共享给ModelArts平台服务,用户可随时在SWR服务页面,审核此私有镜像的共享权限,对其进行编辑或删除。 如果待注册的镜像在别的region,应该怎么处理? 镜像上传后,您可以在SWR服务页面添加镜像自动同步功能,帮助您把最新推送的镜像自动同步到其他区域镜像仓库内。详细操作请参考SWR服务的自动同步镜像。 镜像故障恢复后,应该怎么处理? 当用户完成镜像故障排除后,单击镜像名称进入镜像详情页,单击操作列的“镜像同步”完成镜像状态的刷新。 父主题: 镜像管理
  • 镜像用途 用于创建分析应用 应用是生物信息学软件的镜像封装。例如,您可将Cell Ranger软件封装为镜像,并上传至 EIHealth 平台。通过应用把镜像引入,利用应用搭建分析流程,执行分析作业。 用于创建Notebook Notebook是一个交互式应用程序,用于代码的编写、调试、运行。创建Notebook时,您可以选择系统镜像。当系统镜像无法满足您的开发需求时,您可以基于EIHealth提供的基础镜像包制作自定义镜像,并上传至平台。您可以在EIHealth平台“开发环境”中使用此自定义镜像创建Notebook。 创建Notebook时,如果使用自定义镜像。该自定义镜像,需要基于EIHealth平台提供的基础镜像进行制作。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 image_infos Array of ListImagesView objects 镜像详情 total Integer 总条数 request_id String 请求的唯一标识ID。 表5 ListImagesView 参数 参数类型 描述 domain_id String 镜像所属租户 image_name String 镜像名称 update_time String 镜像更新时间 create_time String 镜像创建时间 image_size Long 镜像大小,单位byte project_id String project_id(当image_type为private时,才会返回此字段) image_id String 镜像ID image_version String 镜像AOSP版本 image_type String 镜像类型 公共镜像:public 私有镜像:private 共享镜像:share status Integer 镜像状态。 0:CREATING 创建中 1:PRODUCTION 生产态,可使用 2:CREATE_FAILED 创建失败 src_project_id String 共享镜像账号的projectId(当image_type为share时,才会返回此字段)
  • 响应示例 状态码: 200 OK { "image_infos" : [ { "domain_id" : "4a2a9967e4514c388a4c945efcbab9d6", "image_name" : "cph-private-image", "update_time" : "2024-04-11T06:38:21Z", "create_time" : "2024-04-11T06:38:21Z", "image_size" : 1306150912, "project_id" : "3a63a229aa6e47bab2153b44a7f3f50d", "image_id" : "23030320230421e300221a2000004433", "image_version" : "AOSP 9.0", "image_type" : "private", "status" : 1 } ], "total" : 1, "request_id" : "bff458ad55f24751b0b226119ab4f9fd" }
  • URI GET /v1/{project_id}/cloud-phone/images 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id。 表2 Query参数 参数 是否必选 参数类型 描述 image_type 否 String 镜像类型。 private:私有镜像 share:共享镜像 status 否 Integer 镜像状态。 0:CREATING 创建中 1:PRODUCTION 生产态,可使用 2:CREATE_FAILED 创建失败 offset 否 Integer 偏移量为一个大于等于0整数,表示查询该偏移量后面的所有的资源数,默认值为0。 limit 否 Integer 每页返回的资源个数。取值范围:1~100(默认值为100),一般设置为10、20、50。 image_id 否 String 镜像id image_name 否 String 镜像名称 create_since 否 Long 起始时间 create_until 否 Long 截止时间 src_project_id 否 String 共享镜像账号的projectId
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 members Array of ListImageMembersView objects 镜像成员详情 表4 ListImageMembersView 参数 参数类型 描述 create_time Long 共享时间 update_time Long 更新时间 image_id String 镜像ID member_id String 被共享账号的PROJECT_ID
  • 响应示例 状态码: 200 OK { "members" : [ { "image_id" : "23030320230421e300221a2000004167", "member_id" : "87dc6af96095488d9205b6f31f314b16", "create_time" : 1713320018058, "update_time" : 1713320018058 }, { "image_id" : "23030320230421e300221a2000004167", "member_id" : "6733a7ad58694af18c7ee4820052d63f", "create_time" : 1713083265307, "update_time" : 1713083265307 } ] }
  • containerd容器引擎客户端 登录 容器镜像服务 控制台。 在左侧导航栏选择“我的镜像”,单击右侧镜像名称。 在镜像详情页面中,进入“Pull/Push指南”页签,复制containerd容器引擎的镜像上传指令。 该指令将于6个小时后过期。若需要长期有效的上传指令,请参见获取containerd容器引擎长期有效的拉取、推送镜像指令。 以root用户登录containerd引擎所在的虚拟机。 在虚拟机中执行3复制的镜像上传指令。 检查镜像是否上传成功。
  • docker容器引擎客户端 制作容器镜像或导入镜像文件。 连接容器 镜像服务 。 登录容器镜像服务控制台。 选择左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。 图1 登录指令 此处生成的登录指令有效期为6小时,若需要长期有效的登录指令,请参见获取docker容器引擎长期有效登录指令。获取了长期有效的登录指令后,在有效期内的临时登录指令仍然可以使用。 登录指令末尾的 域名 为镜像仓库地址,请记录该地址,后面会使用到。 在安装容器引擎的机器中执行上一步复制的登录指令。 登录成功会显示“Login Succeeded”。 在安装容器引擎的机器上执行如下命令,为nginx镜像打标签。 docker tag [镜像名称1:版本名称1] [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2] 其中, [镜像名称1:版本名称1]:请替换为您所要上传的实际镜像的名称和版本名称。 [镜像仓库地址]:可在SWR控制台上查询,即2.b中登录指令末尾的域名。 [组织名称]:请替换为您创建的组织。 [镜像名称2:版本名称2]:请替换为您期待的镜像名称和镜像版本。 示例: docker tag nginx:v1 swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1 上传镜像至镜像仓库。 docker push [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2] 示例: docker push swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1 终端显示如下信息,表明上传镜像成功。 The push refers to repository [swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1] fbce26647e70: Pushed fb04ab8effa8: Pushed 8f736d52032f: Pushed 009f1d338b57: Pushed 678bbd796838: Pushed d1279c519351: Pushed f68ef921efae: Pushed v1: digest: sha256:0cdfc7910db531bfa7726de4c19ec556bc9190aad9bd3de93787e8bce3385f8d size: 1780 返回容器镜像服务控制台,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。
  • 操作场景 客户端上传镜像,是指在安装了容器引擎客户端的机器上使用docker命令或者ctr命令将镜像上传到容器镜像服务的镜像仓库。如果是docker容器引擎客户端则使用docker push命令上传。如果是containerd容器引擎客户端则使用ctr push命令上传。 如果容器引擎客户端机器为云上的E CS 或CCE节点,根据机器所在区域有两种网络链路可以选择: 若机器与容器镜像仓库在同一区域,则上传镜像走内网链路。 若机器与容器镜像仓库不在同一区域,则上传镜像走公网链路,机器需要绑定弹性公网IP。
  • 操作步骤 参考获取docker容器引擎的长期有效登录指令中的步骤1设置编程访问权限。 参考获取docker容器引擎的长期有效登录指令中的步骤2至步骤4获取资源空间名、镜像仓库地址、AK以及登录密钥信息。 使用如下的格式拼接长期拉取和推送镜像的指令。 1. 镜像拉取指令拼接 ctr image pull --user [资源空间名]@[AK]:[登录密钥] [镜像仓库地址] 其中,资源空间名和镜像仓库地址在2中获取,AK在3中获取,登录密钥为4的执行结果。 2. 镜像推送指令拼接 ctr image push --user [资源空间名]@[AK]:[登录密钥] [镜像仓库地址] 其中,资源空间名和镜像仓库地址在2中获取,AK在3中获取,登录密钥为4的执行结果。 登录密钥字符串是经过加密的,无法将登录密钥字符串逆向解密成SK。 获取的指令可在其他机器上使用并进行镜像上传下载。
  • URI GET /v2.1/{project_id}/images?name={name}&status={status}&changes-since={changes-since}&minRam={minRam}&minDisk={inDisk} 参数说明请参见表1。 表1 路径参数 参数 是否必选 描述 project_id 是 项目ID。 获取方法请参见获取项目ID。 支持分页查询。分页查询的相关信息,请参见分页查询。
  • 响应示例 { "images": [ { "id": "ee10f19c-503c-44af-af2f-73d5e42f7a17", "links": [ { "href": "http://xxx/v2/d9ebe43510414ef590a4aa158605329e/images/ee10f19c-503c-44af-af2f-73d5e42f7a17", "rel": "self" }, { "href": "http://xxx/d9ebe43510414ef590a4aa158605329e/images/ee10f19c-503c-44af-af2f-73d5e42f7a17", "rel": "bookmark" }, { "href": "http://xxx/d9ebe43510414ef590a4aa158605329e/images/ee10f19c-503c-44af-af2f-73d5e42f7a17", "rel": "alternate", "type": "application/vnd.openstack.image" } ], "name": "image1" } ] }
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 镜像实例名称,名称需满足如下规则: 由中文,英文大小写,数字,_-组成,不能有空格。 长度范围1~64个字符。 description 否 String 服务器组描述。