向 Azure 容器注册表推送容器映像

已完成

在本单元中,你将使用 Azure 容器注册表服务将容器映像推送到 Azure 容器注册表。 使用 Azure 容器注册表,可以针对所有类型的容器部署在专用注册表中生成、存储和管理容器映像和项目。 将 Azure 容器注册表用于现有的容器开发和部署管道。

注释

如果会话已空闲,或者正在另一时间点或从另一个 CLI 执行此步骤,则可能需要使用以下命令重新初始化环境变量并重新进行身份验证:

export AZ_RESOURCE_GROUP=java-containerization-demo-rg
export AZ_CONTAINER_REGISTRY=<your-container-registry>
export AZ_KUBERNETES_CLUSTER=java-containerization-demo-aks
export AZ_LOCATION=<your-Azure-region>
export AZ_KUBERNETES_CLUSTER_DNS_PREFIX=<your-unique-DNS-prefix-to-access-your-AKS-cluster>
az login
az acr login --name $AZ_CONTAINER_REGISTRY

推送容器映像

可以将新生成的容器映像推送到 Azure 容器注册表。 这样,你的容器映像与你所有的 Azure 资源(例如 Azure Kubernetes 服务 [AKS] 群集)密切相关。 稍后,将 AKS 配置为从注册表拉取 flightbookingsystemsample 映像。 若要将容器映像推送到注册表,请执行以下步骤:

  1. 使用以下命令登录到 Azure 容器注册表(如果尚未登录):

    az acr login
    
  2. 使用以下命令使用 Azure 容器注册表标记以前生成的容器映像:

    docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  3. 使用以下命令将容器映像推送到 Azure 容器注册表:

    docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample
    
  4. 推送完成后,可以使用以下命令查看新推送映像的 Azure 容器注册表映像元数据:

    az acr repository show \
        --name $AZ_CONTAINER_REGISTRY \
        --image flightbookingsystemsample:latest
    

以下输出是典型的:

{
  "changeableAttributes": {
    "deleteEnabled": true,
    "listEnabled": true,
    "readEnabled": true,
    "writeEnabled": true
  },
  "createdTime": "2024-11-15T12:23:55.5624474Z",
  "digest": "sha256:13851640a3****************************************f7f1e482c6eaa825",
  "lastUpdateTime": "2024-11-15T12:23:55.5624474Z",
  "name": "latest",
  "signed": false
}

容器映像现在位于 Azure 容器注册表中,可供 Azure 服务(如 AKS)进行部署。