快速入門:使用 ARM 範本建立異地複寫的容器登錄

本快速入門示範如何使用 Azure Resource Manager 範本 (ARM 範本) 建立 Azure 容器登錄執行個體。 此範本會設定異地複寫登錄,自動同步處理多個 Azure 區域的登錄內容。 異地複寫可讓您從區域部署對映像進行網路封閉存取,同時提供單一的管理體驗。 這是進階登錄服務層級的一項功能。

Azure Resource Manager 範本是一個 JavaScript 物件標記法 (JSON) 檔案,會定義專案的基礎結構和設定。 範本使用宣告式語法。 您可以描述預期的部署,而不需要撰寫程式設計命令順序來建立部署。

具有複寫的登錄不支援 ARM/Bicep 範本完成模式部署。

如果您的環境符合必要條件,而且您很熟悉 ARM 範本,請選取 [部署至 Azure] 按鈕。 範本會在 Azure 入口網站中開啟。

將 Resource Manager 範本部署至 Azure 的按鈕。

必要條件

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

檢閱範本

本快速入門中使用的範本是來自 Azure 快速入門範本。 此範本會設定一項登錄和一個額外的區域複本。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "12610175857982700190"
    }
  },
  "parameters": {
    "acrName": {
      "type": "string",
      "defaultValue": "[format('acr{0}', uniqueString(resourceGroup().id))]",
      "maxLength": 50,
      "minLength": 5,
      "metadata": {
        "description": "Globally unique name of your Azure Container Registry"
      }
    },
    "acrAdminUserEnabled": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "Enable admin user that has push / pull permission to the registry."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for registry home replica."
      }
    },
    "acrSku": {
      "type": "string",
      "defaultValue": "Premium",
      "allowedValues": [
        "Premium"
      ],
      "metadata": {
        "description": "Tier of your Azure Container Registry. Geo-replication requires Premium SKU."
      }
    },
    "acrReplicaLocation": {
      "type": "string",
      "metadata": {
        "description": "Short name for registry replica location."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerRegistry/registries",
      "apiVersion": "2019-12-01-preview",
      "name": "[parameters('acrName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('acrSku')]"
      },
      "tags": {
        "displayName": "Container Registry",
        "container.registry": "[parameters('acrName')]"
      },
      "properties": {
        "adminUserEnabled": "[parameters('acrAdminUserEnabled')]"
      }
    },
    {
      "type": "Microsoft.ContainerRegistry/registries/replications",
      "apiVersion": "2019-12-01-preview",
      "name": "[format('{0}/{1}', parameters('acrName'), parameters('acrReplicaLocation'))]",
      "location": "[parameters('acrReplicaLocation')]",
      "properties": {},
      "dependsOn": [
        "[resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))]"
      ]
    }
  ],
  "outputs": {
    "acrLoginServer": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))).loginServer]"
    }
  }
}

範本中會定義下列資源:

如需更多 Azure 容器登錄範本範例,請參閱快速入門範本資源庫

部署範本

  1. 選取以下影像來登入 Azure 並開啟範本。

    將 Resource Manager 範本部署至 Azure 的按鈕。

  2. 選取或輸入下列值。

    • 訂用帳戶:選取 Azure 訂用帳戶。

    • 資源群組:選取 [新建],輸入資源群組的唯一名稱,然後選取 [確認]

    • 區域:選取資源群組的位置。 範例:美國中部

    • Acr 名稱:接受為登錄所產生的名稱,或輸入名稱。 此名稱必須是全域唯一的。

    • 已啟用 Acr 管理使用者:接受預設值。

    • 位置:接受為登錄首頁複本所產生的位置,或輸入位置,例如美國中部

    • Acr Sku:接受預設值。

    • Acr 複本位置:使用區域的簡短名稱輸入登錄複本的位置。 必須和首頁的登錄位置不同。 範例:westeurope

      範本屬性

  3. 選取 [檢閱 + 建立],然後檢閱條款及條件。 如果您同意,請選取 [建立]

  4. 成功建立登錄之後,您會收到一則通知:

    入口網站通知

Azure 入口網站用於部署範本。 除了 Azure 入口網站,您可以使用 Azure PowerShell、Azure CLI 和 REST API。 若要了解其他部署方法,請參閱部署範本

檢閱已部署的資源

使用 Azure 入口網站或 Azure CLI 之類的工具來檢閱容器登錄的屬性。

  1. 在入口網站中,搜尋容器登錄,然後選取您建立的容器登錄。

  2. 記下 [概觀] 頁面中,登錄的登入伺服器。 當您使用 Docker 標記映像並將其推送至您的登錄時,請使用此 URI。 如需相關資訊,請參閱使用 Docker CLI 推送您的第一個映像

    登錄概觀

  3. 在 [複寫] 頁面上,確認主要複本和透過範本所新增複本的位置。 如有需要,請在此頁面中新增更多複本。

    登錄複寫

清除資源

您可以刪除不再需要的資源群組、登錄和登錄複本。 若要這樣做,請移至 Azure 入口網站,選取包含登錄的資源群組,然後選取 [刪除資源群組]

刪除資源群組

下一步

在本快速入門中,您已使用 ARM 範本建立了 Azure 容器登錄,並在另一個位置設定了登錄複本。 請繼續進行 Azure 容器登錄教學課程,以深入了解 ACR。

如需逐步教學課程,以引導您完成建立範本的流程,請參閱: