教程:为 Arc 启用的 AKS 创建Azure 容器注册表
适用于:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS
Azure 容器注册表是容器映像的专用注册表。 可以通过专用容器注册表安全地生成和部署应用程序和自定义代码。
在本教程的第 2 部分(共 7 部分)中,将部署一个 Azure 容器注册表 实例,并将容器映像推送到该实例,以便在 AKS 中使用。 将了解如何执行以下操作:
- 创建 Azure 容器注册表实例
- 标记容器映像以Azure 容器注册表
- 将图像上传到Azure 容器注册表
- 查看注册表中的映像
在后面的教程中,此 Azure 容器注册表 实例与 Kubernetes 群集集成,并且从映像部署应用程序。
开始之前
上一教程介绍了如何为简单的 Azure 投票应用程序创建容器映像。 如果尚未创建 Azure Voting 应用映像,请返回到教程 1:创建容器映像。
此教程需要运行 Azure CLI 2.0.53 版或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
创建 Azure 容器注册表
若要创建Azure 容器注册表实例,首先需要一个资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
使用“az group create”命令创建资源组。 以下示例在 eastus 区域创建名为 myResourceGroup 的资源组:
az group create --name myResourceGroup --location eastus
使用 az acr create 命令创建 Azure 容器注册表实例,并提供你自己的注册表名称。 注册表名称在 Azure 中必须唯一,并且包含 5-50 个字母数字字符。 在本教程的剩余部分,请使用 <acrName>
作为容器注册表名称的占位符。 提供自己的唯一注册表名称。 “基本”SKU 是一个针对成本优化的入口点,适用于可以对存储和吞吐量进行均衡考虑的开发目的。
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
登录到容器注册表
若要使用 ACR 实例,必须先登录。 使用 az acr login 命令,并在上一步中为容器注册表提供唯一名称:
az acr login --name <acrName>
完成后,该命令将返回 “登录成功” 消息。
标记容器映像
若要查看当前的本地映像的列表,请使用 docker images 命令:
docker images
此命令的输出显示当前本地映像的列表:
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
tiangolo/uwsgi-nginx-flask python3.6 a16ce562e863 6 weeks ago 944MB
若要将 azure-vote-front 容器映像与Azure 容器注册表配合使用,请确保使用注册表的登录服务器地址标记映像。 在将容器映像推送到映像注册表时,使用此标记进行路由。
若要获取登录服务器地址,请使用 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 映像 :
docker images
映像使用 Azure 容器注册表 实例地址和版本号进行标记:
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
tiangolo/uwsgi-nginx-flask python3.6 a16ce562e863 6 weeks ago 944MB
将映像推送到注册表
生成并标记映像后,将 azure-vote-front 映像推送到 Azure 容器注册表 实例。 使用 docker push 并为映像名称提供自己的 acrLoginServer
地址,如下所示:
docker push <acrLoginServer>/azure-vote-front:v1
完成映像推送到Azure 容器注册表可能需要几分钟时间。
列出注册表中的映像
若要返回推送到 Azure 容器注册表 实例的映像列表,请使用 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
你现在有了一个容器映像,该映像存储在专用的 Azure 容器注册表实例中。 下一教程将此映像从 Azure 容器注册表 部署到 Kubernetes 群集。
后续步骤
在本教程中,你创建了一个Azure 容器注册表并推送了一个用于 Kubernetes 群集的映像。 你已了解如何执行以下操作:
- 创建 Azure 容器注册表 (ACR) 实例
- 标记 ACR 的容器映像
- 向 ACR 上传映像
- 查看注册表中的映像
继续学习下一篇教程,了解如何在 Azure 中部署 Kubernetes 群集。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈