小提示
有关本教程使用 Azure Kubernetes 服务的更新版本,请参阅 教程:部署和使用 Azure 容器注册表。
警告
Azure 容器服务 (ACS) 正在被弃用。 不会向 ACS 添加新特性或功能。 所有 API、门户体验、CLI 命令和文档都标记为已弃用。
2017 年,我们引入了 Azure Kubernetes 服务(AKS),用于简化 Kubernetes 管理、部署和作。 如果使用 Kubernetes 业务流程协调程序,请在 2020 年 1 月 31 日前迁移到 AKS。 若要开始,请参阅 迁移到 Azure Kubernetes 服务。
有关详细信息,请参阅 Azure.com 上的 Azure 容器服务弃用声明。
Azure 容器注册表(ACR)是 Docker 容器映像的基于 Azure 的专用注册表。 本教程的第 2 部分(共 7 部分)逐步讲解如何部署 Azure 容器注册表实例,以及如何将容器映像推送到其中。 完成的步骤包括:
- 部署 Azure 容器注册表 (ACR) 实例
- 为 ACR 标记容器映像
- 将映像上传到 ACR
在后续教程中,此 ACR 实例与 Azure 容器服务 Kubernetes 群集集成。
开始之前
在上一教程 中,为简单的 Azure Voting 应用程序创建了容器映像。 如果尚未创建 Azure Voting 应用映像,请返回到 教程 1 -创建容器映像。
本教程要求运行 Azure CLI 2.0.4 或更高版本。 运行 az --version 即可查找版本。 如果需要安装或升级,请参阅 安装 Azure CLI。
部署 Azure 容器注册表
部署 Azure 容器注册表时,首先需要一个资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
使用“az group create”命令创建资源组。 在此示例中,在 myResourceGroup 区域中创建了一个名为 westeurope 的资源组。
az group create --name myResourceGroup --location westeurope
使用 az acr create 命令创建 Azure 容器注册表。 容器注册表 的名称必须唯一。
az acr create --resource-group myResourceGroup --name <acrName> --sku Basic
在本教程的其余部分,我们使用 <acrname> 作为容器注册表名称的占位符。
容器注册表登录
使用 az acr login 命令登录到 ACR 实例。 创建容器注册表时,需要提供提供给容器注册表的唯一名称。
az acr login --name <acrName>
该命令在完成后返回“登录成功”消息。
标记容器镜像
若要查看当前镜像的列表,请使用 docker images 命令。
docker images
输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 4675398c9172 13 minutes ago 694MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 9 months ago 694MB
每个容器映像都需要用注册表的 loginServer 名称进行标记。 将容器映像推送到映像注册表时,此标记用于路由。
若要获取 loginServer 名称,请运行以下命令。
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
现在,使用容器注册表的 loginServer 标签化 azure-vote-front 映像。 此外,将 :v1 添加到映像名称的末尾。 此标记指示映像版本。
docker tag azure-vote-front <acrLoginServer>/azure-vote-front:v1
标记后,运行 docker 镜像 以验证操作。
docker images
输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest eaf2b9c57e5e 8 minutes ago 716 MB
mycontainerregistry082.azurecr.io/azure-vote-front v1 eaf2b9c57e5e 8 minutes ago 716 MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 8 months ago 694 MB
将映像推送到注册表
将 azure-vote-front 映像推送到注册表。
使用以下示例,将 ACR loginServer 名称替换为环境中的 loginServer。
docker push <acrLoginServer>/azure-vote-front:v1
这需要几分钟才能完成。
列出注册表中的映像
若要返回已推送到 Azure 容器注册表的映像列表,请使用 az acr repository list 命令。 使用 ACR 实例名称更新命令。
az acr repository list --name <acrName> --output table
输出:
Result
----------------
azure-vote-front
然后若要查看特定映像的标记,请使用 az acr repository show-tags 命令。
az acr repository show-tags --name <acrName> --repository azure-vote-front --output table
输出:
Result
--------
v1
教程完成后,容器映像已存储在专用 Azure 容器注册表实例中。 此映像在后续教程中从 ACR 部署到 Kubernetes 群集。
后续步骤
在本教程中,已准备好在 ACS Kubernetes 群集中使用 Azure 容器注册表。 已完成以下步骤:
- 部署了 Azure 容器注册表实例
- 为 ACR 标记了容器映像
- 将映像上传到 ACR
转到下一教程,了解如何在 Azure 中部署 Kubernetes 群集。