本文介紹了容器鏡像(Container Image)的基本概念,從而為使用Container Registry建立知識基礎。
容器鏡像
容器鏡像是一種容器化標準交付物,用於打包應用程式及其依賴的環境。可以基於Dockerfile檔案將應用構建為容器鏡像並上傳到容器鏡像倉庫中,然後您可以在測試或者生產環境中拉取容器鏡像並啟動容器。
Container Registry執行個體
當您需要擷取您自己的私人鏡像時,首先需要建立Container Registry執行個體,然後在執行個體中建立具體鏡像倉庫。使用過程中需要登入容器鏡像倉庫,才可以管理鏡像。在您修改鏡像完成後,您可以再次將鏡像推送到容器鏡像倉庫。或者在本地使用鏡像構建功能產生鏡像,再推送到容器鏡像倉庫中。
Container Registry執行個體地址
鏡像地址樣本(以公網鏡像地址為例):
企業版:instance-registry.cn-hangzhou.cr.aliyuncs.com/namespace/repository:v1
個人版:registry.cn-hangzhou.aliyuncs.com/namespace/repository:v1
instance:企業版執行個體的名稱。您可以使用Container Registry企業版自訂執行個體網域名稱,支援全球不同地區同一網域名稱訪問。具體操作,請參見通過自訂網域名訪問Container Registry企業版執行個體。
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規範的製品,實現不同類型製品統一儲存、管理和分發。Container Registry企業版支援託管OCI製品,具體操作,請參見推送和拉取自訂OCI製品。
Helm Chart
Helm是一個包管理工具,用於管理Chart,以及其運行態Release。
Chart是一系列Kubernetes叢集內資源描述檔案的組合,包含了運行一個應用所需要的鏡像、依賴和資源定義等。一個Chart可以是一個WordPress和MySQL的組合,也可以是一個etcd叢集的組合。
Container Registry企業版支援託管Helm Chart。具體操作,請參見推送和拉取Helm Chart。
雲原生交付鏈
雲原生交付鏈支援自由組合鏡像構建、鏡像掃描、鏡像全球同步和鏡像分發等任務,提供全鏈路可觀測、可追蹤、安全防護能力,實現一次提交,全球分發、掃描和部署。Container Registry企業版支援雲原生交付鏈。具體操作,請參見建立交付鏈。
RAM存取控制
RAM(Resource Access Management)是阿里雲提供的一項系統管理使用者身份與資源存取權限的服務。一個阿里雲帳號下可以建立多個RAM使用者,對應企業內的員工、系統或應用程式。
RAM使用者
RAM使用者是RAM的一種實體身份類型,有確定的身份ID和身份憑證,它通常與某個確定的人或應用程式一一對應。您可以為不同的RAM使用者佈建不同的鏡像許可權,具體操作,請參見RAM授權資訊。
OSS
OSS是阿里雲提供的海量、安全、低成本、高持久的雲端儲存體服務。OSS具有與平台無關的RESTful API介面,您可以在任何應用、任何時間、任何地點儲存和訪問任意類型的資料。
OSS Bucket
OSS儲存空間(Bucket)是用於儲存物件(Object)的容器,所有的對象都必須隸屬於某個儲存空間。儲存空間具有各種配置屬性,包括地區、存取權限、儲存類型等。可以根據實際需求,建立不同類型的儲存空間來儲存不同的資料。Container Registry企業版將容器鏡像託管在OSS Bucket,您可以自訂OSS Bucket,具體操作,請參見配置使用自訂OSS Bucket時的RAM存取控制。