教程 - 创建 Azure 容器注册表 (ACR) 和生成映像

Azure 容器注册表 (ACR) 是容器映像的专用注册表。 专用容器注册表使你能够安全地生成和部署应用程序和自定义代码。

本教程的第 2 部分(共 7 部分)介绍如何部署 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 替换为自己的资源组名称

  1. 使用 az group create 命令创建资源组。

    az group create --name myResourceGroup --location eastus
    
  2. 使用 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 群集中使用。 你已了解如何执行以下操作:

在下一个教程中,你将了解如何在 Azure 中部署 Kubernetes 群集。