练习 - 创建注册表
注意
首次激活沙盒并接受这些条款后,你的 Microsoft 帐户将与名为“Microsoft Learn 沙盒”的新 Azure 目录相关联。 还会将你添加到名为“Concierge 订阅”的特殊订阅中。
你需要为你的组织创建一个注册表,然后才能发布 CDN 和网站的 Bicep 模块。 然后将共享模块发布到注册表。 然后其他团队可以创建包含共享模块的部署。
通过学习本练习,你将能够:
- 部署一个新的专用注册表供你的玩具公司使用。
- 连接注册表以验证是否已成功创建。
若要将资源部署到 Azure,你需要从 Visual Studio Code 终端登录到 Azure 帐户。 请确保已安装 Azure CLI,并使用用于激活沙盒的同一帐户登录。
在“终端”菜单中,选择“新终端”。 终端窗口通常在屏幕的下半部分打开。
如果终端窗口在右侧显示 bash,则表示已打开正确的 shell。 或者,如果你在右侧看到 bash shell 图标,则可以选择它来启动 shell。
如果出现“bash”以外的 shell,请选择 shell 下拉箭头,然后选择“Git Bash”。
在终端中,转到保存模板的目录。 例如,如果将模板保存到 templates 文件夹,则可以使用以下命令:
cd templates
安装 Bicep
运行以下命令以确保具有最新版本的 Bicep:
az bicep install && az bicep upgrade
登录 Azure
在 Visual Studio Code 终端中,运行以下命令登录到 Azure:
az login
在打开的浏览器中,登录到 Azure 帐户。 Visual Studio Code 终端显示与此帐户关联的订阅列表。 选择名为“Concierge 订阅”的订阅。
如果最近使用了多个沙盒,终端可能会显示多个 Concierge 订阅实例。 在这种情况下,请使用下面的两个步骤来设置一个默认订阅。
获取 Concierge 订阅 ID。
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
使用订阅 ID 设置默认订阅。 将 {your subscription ID} 替换为最新的 Concierge 订阅 ID。
az account set --subscription {your subscription ID}
设置默认资源组
当你使用 Azure CLI 时,可以设置默认资源组,并忽略本练习中其他 Azure CLI 命令的参数。 将默认值设置为在沙盒环境中为你创建的资源组。
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
若要将资源部署到 Azure,你需要从 Visual Studio Code 终端登录到 Azure 帐户。 请确保已安装 Azure PowerShell,并登录到激活沙盒的同一帐户。
在“终端”菜单中,选择“新终端”。 终端窗口通常在屏幕的下半部分打开。
如果终端窗口在右侧显示 pwsh 或 powershell,则表示已打开正确的 shell。 或者,如果你在右侧看到 PowerShell shell 图标,则可以选择它来启动 shell。
如果出现“pwsh”和“powershell”以外的 shell,请选择 shell 下拉箭头,然后选择“PowerShell”。
在终端中,转到保存模板的目录。 例如,如果将模板保存到 templates 文件夹,则可以使用以下命令:
Set-Location -Path templates
安装 Bicep CLI
若要从 Azure PowerShell 使用 Bicep, 请安装 Bicep CLI。
使用 Azure PowerShell 登录到 Azure
在 Visual Studio Code 终端中,运行以下命令:
Connect-AzAccount
在打开的浏览器中,登录到 Azure 帐户。 浏览器可能会在后台打开。
登录到 Azure 后,终端会显示与此帐户关联的订阅列表。 如果已激活沙盒,则会显示名为“Concierge 订阅”的订阅。 请在本练习的其余部分选择此订阅。
如果最近使用了多个沙盒,终端可能会显示多个 Concierge 订阅实例。 在这种情况下,请使用下面的两个步骤来设置一个默认订阅。
获取订阅 ID。 运行以下命令将列出你的订阅及其 ID。 查看
Concierge Subscription
,然后复制第二列中的 ID。 它类似于aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
。Get-AzSubscription
将处于活动状态的订阅更改为“Concierge 订阅”。 请务必将 {Your subscription ID} 替换为复制的内容。
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
设置默认资源组
你可以设置默认资源组,并忽略本练习中其他 Azure PowerShell 命令的参数。 将此默认值设置为在沙盒环境中为你创建的资源组。
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
创建容器注册表
在这里,你将创建一个用于存储和共享你的 Bicep 模块的新注册表。 本示例使用 Azure 容器注册表。
为容器注册表选择唯一名称。 该名称必须跨 Azure 全局唯一。 选择长度为 5 到 50 个字符并包含字母和数字的名称。 在后续步骤中使用该名称。
通过在 Visual Studio Code 终端中运行此命令来创建容器注册表。 将
YOUR_CONTAINER_REGISTRY_NAME
占位符替换为在上一步中选择的名称。az acr create \ --name YOUR_CONTAINER_REGISTRY_NAME \ --sku Basic \ --location westus
提示
还可以使用 Bicep 创建容器注册表。 在此示例中,简单起见,我们使用 Azure CLI。
为容器注册表选择唯一名称。 该名称必须跨 Azure 全局唯一。 选择长度为 5 到 50 个字符并包含字母和数字的名称。 在后续步骤中使用该名称。
通过在 Visual Studio Code 终端中运行此命令来创建容器注册表。 将
YOUR_CONTAINER_REGISTRY_NAME
占位符替换为在上一步中选择的名称。New-AzContainerRegistry ` -Name YOUR_CONTAINER_REGISTRY_NAME ` -Sku Basic ` -Location westus
提示
还可以使用 Bicep 创建容器注册表。 在此示例中,简单起见,我们使用 Azure PowerShell cmdlet。
列出注册表中的模块
现在已经创建了注册表,可以连接到它来验证它是否正常工作。
通过运行此命令列出注册表中的模块。 将
YOUR_CONTAINER_REGISTRY_NAME
占位符替换为之前选择的名称。az acr repository list \ --name YOUR_CONTAINER_REGISTRY_NAME
请注意,你未指定任何用于连接到容器注册表的凭据。 Azure CLI 使用用于登录到 Azure CLI 的相同凭据。 你已创建容器注册表,因此你可以访问它。
Azure CLI 命令返回的列表不包含任何结果:
[]
你没有看到任何结果,因为尚未发布任何模块。 你将在下一个单元中了解有关发布模块的详细信息。
通过运行此命令列出注册表中的模块。 将
YOUR_CONTAINER_REGISTRY_NAME
占位符替换为之前选择的名称。Get-AzContainerRegistryRepository ` -RegistryName YOUR_CONTAINER_REGISTRY_NAME
请注意,你未指定任何用于连接到容器注册表的凭据。 Azure PowerShell 使用你登录 Azure PowerShell cmdlet 所使用的凭据。 你已创建容器注册表,因此你可以访问它。
Azure PowerShell cmdlet 未显示任何输出。
没有任何结果,因为尚未发布任何模块。 你将在下一个单元中了解有关发布模块的详细信息。