本文介紹了容器鏡像(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訪問控制。