本文介绍了容器镜像(Container Image)的基本概念,从而为使用容器镜像服务建立知识基础。

容器镜像
容器镜像是一种容器化标准交付物,用于打包应用程序及其依赖的环境。可以基于Dockerfile文件将应用构建为容器镜像并上传到容器镜像仓库中,然后您可以在测试或者生产环境中拉取容器镜像并启动容器。
容器镜像服务实例
当您需要获取您自己的私有镜像时,首先需要创建容器镜像服务实例,然后在实例中创建具体镜像仓库。使用过程中需要登录容器镜像仓库,才可以管理镜像。在您修改镜像完成后,您可以再次将镜像推送到容器镜像仓库。或者在本地使用镜像构建功能生成镜像,再推送到容器镜像仓库中。
容器镜像服务实例地址

镜像地址示例(以公网镜像地址为例):

企业版:instance-registry.cn-hangzhou.cr.aliyuncs.com/namespace/repository:v1

个人版:registry.cn-hangzhou.aliyuncs.com/namespace/repository:v1

  • instance:企业版实例的名称。您可以使用容器镜像服务企业版自定义实例域名,支持全球不同地域同一域名访问。具体操作,请参见通过自定义域名访问容器镜像服务企业版实例
  • namespace:命名空间的名称。
  • repository:镜像仓库的名称。个人版仅支持一级仓库名称,企业版支持多级仓库名称,例如agent/client/prod。
  • v1:镜像版本(Tag),非必须,不指定默认为latest。
Dockerfile
Dockerfile是一个用来构建镜像的文本文件,文本内容包含了构建镜像所需的指令和说明。Docker等工具可以通过读取Dockerfile中的指令自动构建生成容器镜像。
OCI规范
OCI规范是一系列容器相关标准规范,包含OCI Image规范、OCI Artifact规范等。其中OCI Image规范统一了各种容器工具使用的容器镜像格式,让标准容器镜像能够在多种容器软件及环境下使用。
OCI制品
除容器镜像之外,ACR还支持将不同用途的数据(Helm Chart、CNAB等制品)依照OCI Artifact规范定义的结构(清单、索引等)打包成符合OCI规范的制品,实现不同类型制品统一存储、管理和分发。容器镜像服务企业版支持托管OCI制品,具体操作,请参见推送和拉取自定义OCI制品
Helm Chart
  • Helm是一个包管理工具,用于管理Chart,以及其运行态Release。
  • Chart是一系列Kubernetes集群内资源描述文件的组合,包含了运行一个应用所需要的镜像、依赖和资源定义等。一个Chart可以是一个WordPress和MySQL的组合,也可以是一个etcd集群的组合。

容器镜像服务企业版支持托管Helm Chart。具体操作,请参见推送和拉取Helm Chart

云原生交付链
云原生交付链支持自由组合镜像构建、镜像扫描、镜像全球同步和镜像分发等任务,提供全链路可观测、可追踪、安全防护能力,实现一次提交,全球分发、扫描和部署。容器镜像服务企业版支持云原生交付链。具体操作,请参见创建交付链
RAM访问控制
RAM(Resource Access Management)是阿里云提供的一项管理用户身份与资源访问权限的服务。一个阿里云账号下可以创建多个RAM用户,对应企业内的员工、系统或应用程序。
RAM用户
RAM用户是RAM的一种实体身份类型,有确定的身份ID和身份凭证,它通常与某个确定的人或应用程序一一对应。您可以为不同的RAM用户设置不同的镜像权限,具体操作,请参见配置仓库的RAM访问控制
OSS
OSS是阿里云提供的海量、安全、低成本、高持久的云存储服务。OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
OSS Bucket
OSS存储空间(Bucket)是用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。可以根据实际需求,创建不同类型的存储空间来存储不同的数据。容器镜像服务企业版将容器镜像托管在OSS Bucket,您可以自定义OSS Bucket,具体操作,请参见配置使用自定义OSS Bucket时的RAM访问控制