教學課程:部署和使用 Azure Container Registry (ACR)
Azure Container Registry (ACR) 是適用於容器映像的私人登錄。 私人容器登錄可讓您安全地建置和部署應用程式和自訂程式碼。 在本教學課程 (2/7 部分) 中,您將部署 ACR 執行個體,並將容器映像推送至該處。 您會了解如何:
- 建立 ACR 執行個體
- 標記 ACR 的容器映像
- 將映像上傳至 ACR
- 檢視登錄中的映像
在稍後的教學課程中,您會將 ACR 實例與 AKS 中的 Kubernetes 叢集整合,並從映射部署應用程式。
開始之前
在 上一個教學課程中,您已為簡單的 Azure Voting 應用程式建立容器映射。 如果您尚未建立 Azure 投票應用程式映射,請返回 教學課程 1:準備 AKS 的應用程式。
在本教學課程中,您必須執行 Azure CLI 2.0.53 版或更新版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。
建立 Azure Container Registry
建立 ACR 之前,您需要資源群組。 Azure 資源群組是您部署和管理 Azure 資源的邏輯容器。
- 使用
az group create
命令建立資源群組。
az group create --name myResourceGroup --location eastus
- 使用
az acr create
命令建立 ACR 實例,並提供您自己的唯一登錄名稱。 登錄名稱在 Azure 內必須是唯一的,且包含 5-50 個英數字元。 在本教程的后续部分,會使用<acrName>
作為容器登錄名稱的預留位置。 基本 SKU 對開發用途而言是最符合成本效益的進入點,可在儲存體和輸送量之間取得平衡。
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
登入容器登錄
使用 az acr login
命令登入您的 ACR,並在上一個步驟中提供提供給容器登錄的唯一名稱。
az acr login --name <acrName>
此命令在完成之後會傳回登入成功訊息。
標記容器映像
若要查看目前本機映射的清單,請使用 docker images
命令。
docker images
下列範例輸出顯示目前本機 Docker 映射的清單:
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azuredocs/azure-vote-front v1 84b41c268ad9 7 minutes ago 944MB
mcr.microsoft.com/oss/bitnami/redis 6.0.8 3a54a920bb6c 2 days ago 103MB
若要搭配 ACR 使用 azure-vote-front 容器映射,您必須使用登錄的登入伺服器位址標記映射。 將容器映射推送至映射登錄時,會使用 標記進行路由。
若要取得登入伺服器位址,請使用 az acr list
命令並查詢 loginServer。
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
然後,使用容器登錄的acrLoginServer位址標記本機azure-vote-front映射。 若要指出映像版本,請在映像名稱結尾處加上 :v1:
docker tag mcr.microsoft.com/azuredocs/azure-vote-front:v1 <acrLoginServer>/azure-vote-front:v1
若要確認已套用標籤,請再次執行 docker images
。
docker images
下列範例輸出顯示以 ACR 實例位址和版本號碼標記的影像:
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azuredocs/azure-vote-front v1 84b41c268ad9 16 minutes ago 944MB
mycontainerregistry.azurecr.io/azure-vote-front v1 84b41c268ad9 16 minutes ago 944MB
mcr.microsoft.com/oss/bitnami/redis 6.0.8 3a54a920bb6c 2 days ago 103MB
將映像推送到登錄
使用 docker push
命令將azure-vote-front映射推送至 ACR 實例。 請務必為映射名稱提供您自己的 acrLoginServer 位址。
docker push <acrLoginServer>/azure-vote-front:v1
將映像推送至 ACR 的作業可能需要幾分鐘才會完成。
列出登錄中的映像
若要傳回已推送至 ACR 實例的映射清單,請使用 az acr repository list
命令,提供您自己的 <acrName>
。
az acr repository list --name <acrName> --output table
下列範例輸出會將 azure-vote-front 映像列為登錄中的可用映像:
Result
----------------
azure-vote-front
若要查看特定影像的標記,請使用 az acr repository show-tags
命令。
az acr repository show-tags --name <acrName> --repository azure-vote-front --output table
下列範例輸出會顯示在先前的步驟中標記的 v1 映像:
Result
--------
v1
後續步驟
在本教學課程中,您已建立 ACR,並推送映射以在 AKS 叢集中使用。 您已了解如何︰
- 建立 ACR 執行個體
- 標記 ACR 的容器映像
- 將映像上傳至 ACR
- 檢視登錄中的映像
在下一個教學課程中,您將瞭解如何在 Azure 中部署 Kubernetes 叢集。