教程 - 创建 Azure 容器注册表 (ACR) 和生成映像
Azure 容器注册表 (ACR) 是容器映像的专用注册表。 专用容器注册表使你能够安全地生成和部署应用程序和自定义代码。
本教程的第 2 部分(共 7 部分)介绍如何部署 ACR 实例并向其推送容器映像。 学习如何:
- 创建 ACR 实例。
- 使用 Azure 容器注册表任务生成容器映像并将其推送到 ACR。
- 查看注册表中的映像。
开始之前
在上一个教程中,你使用 Docker 为简单的 Azure Store Front 应用程序创建了容器映像。 如果尚未创建 Azure Store Front 应用映像,请返回到教程 1 - 为 AKS 准备应用程序。
本教程需要 Azure CLI 2.0.53 或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
创建 Azure 容器注册表
在创建 ACR 实例之前,需要一个资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
重要
本教程使用 myResourceGroup 作为资源组名称的占位符。 如果要使用不同的名称,请将 myResourceGroup 替换为自己的资源组名称。
使用
az group create
命令创建资源组。az group create --name myResourceGroup --location eastus
使用
az acr create
命令创建 ACR 实例,并提供自己的唯一注册表名称。 注册表名称在 Azure 中必须唯一,并且包含 5-50 个字母数字字符。 本教程的其余部分使用环境变量$ACRNAME
作为容器注册表名称的占位符。 可以将此环境变量设置为唯一的 ACR 名称,以便在将来的命令中使用。 “基本”SKU 是一个针对成本优化的入口点,适用于可以对存储和吞吐量进行均衡考虑的开发目的。az acr create --resource-group myResourceGroup --name $ACRNAME --sku Basic
生成容器映像并将其推送到注册表
使用 Azure CLI
az acr build
命令生成映像并将其推送到 ACR。注意
对于此步骤,没有执行此任务的等效 Azure PowerShell cmdlet。
在以下示例中,我们不会生成
rabbitmq
映像。 此映像可从 Docker Hub 公共存储库获取,无需生成或推送到 ACR 实例。az acr build --registry $ACRNAME --image aks-store-demo/product-service:latest ./src/product-service/ az acr build --registry $ACRNAME --image aks-store-demo/order-service:latest ./src/order-service/ az acr build --registry $ACRNAME --image aks-store-demo/store-front:latest ./src/store-front/
列出注册表中的映像
使用
az acr repository list
命令查看 ACR 实例中的映像。az acr repository list --name $ACRNAME --output table
以下示例输出列出了注册表中的可用映像:
Result ---------------- aks-store-demo/product-service aks-store-demo/order-service aks-store-demo/store-front
后续步骤
在本教程中,你创建了 ACR 并将映像推送给它以在 AKS 群集中使用。 你已了解如何执行以下操作:
- 创建 ACR 实例。
- 使用 Azure 容器注册表任务生成容器映像并将其推送到 ACR。
- 查看注册表中的映像。
在下一个教程中,你将了解如何在 Azure 中部署 Kubernetes 群集。