练习 - 从 Azure 容器注册表部署映像

已完成

可使用 Azure 容器实例、Azure Kubernetes 服务和用于 Windows 或 Mac 的 Docker 等各种容器管理平台从 Azure 容器注册表拉取容器映像。 在本模块中,你将映像部署到 Azure 容器实例。

注册表身份验证

Azure 容器注册表不支持未经身份验证的访问,并且要求对所有操作进行身份验证。 注册表支持两种类型的标识:

  • Microsoft Entra 实体,包括用户主体和服务主体。 使用 Microsoft Entra 标识访问注册表是基于角色的,你可以为标识分配以下三种角色之一:读者(仅限拉取访问权限)、参与者(推送和拉取访问权限)或所有者(拉取、推送和向其他用户分配角色)。
  • 每个注册表中都包含“管理员帐户”。 默认情况下禁用管理员帐户。

重要

管理员帐户会提供尝试新注册表的快速选项。 可以启用该帐户并在需要访问权限的工作流和应用中使用其用户名和密码。 确认注册表按预期运行后,应禁用管理员帐户并使用 Microsoft Entra 标识以确保注册表的安全性。 不要与他人共享管理员帐户凭据。

启用注册表管理员帐户

  1. 使用 az acr update 命令在注册表上启用管理员帐户。

    az acr update -n $ACR_NAME --admin-enabled true
    
  2. 使用 az acr credential show 命令检索管理员帐户的用户名和密码。

    az acr credential show --name $ACR_NAME
    
  3. 记下输出中的值 usernamepassword,以便在将来的命令中使用。

使用 Azure CLI 部署容器

  1. 使用 az container create 命令部署容器实例。 请确保将 <admin-username><admin-password> 替换为上一命令中你的管理员用户名和密码。

    az container create --resource-group learn-acr-rg --name acr-tasks --image $ACR_NAME.azurecr.io/helloacrtasks:v1 --registry-login-server $ACR_NAME.azurecr.io --ip-address Public --location eastus --registry-username <admin-username> --registry-password <admin-password>
    
  2. 使用 az container show 命令获取 Azure 容器实例的 IP 地址。

    az container show --resource-group learn-acr-rg --name acr-tasks --query ipAddress.ip --output table
    
  3. 在单独的浏览器选项卡中,导航到容器的 IP 地址。 如果一切配置正确,应会看到以下网页:

    Screenshot of a browser window that shows a web page with text that reads: Hello World. Version: 9.11.2.