You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-registry/container-registry-transfer-images.md
+19-17Lines changed: 19 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Transfer artifacts
3
3
description: Transfer collections of images or other artifacts from one container registry to another registry by creating a transfer pipeline using Azure storage accounts
4
4
ms.topic: article
5
-
ms.date: 04/13/2020
5
+
ms.date: 05/08/2020
6
6
ms.custom:
7
7
---
8
8
@@ -16,11 +16,14 @@ To transfer artifacts, you create a *transfer pipeline* that replicates artifact
16
16
* The blob is copied from the source storage account to a target storage account
17
17
* The blob in the target storage account gets imported as artifacts in the target registry. You can set up the import pipeline to trigger whenever the artifact blob updates in the target storage.
18
18
19
-
Transfer is ideal for copying content between two registries in physically disconnected clouds, mediated by storage accounts in each cloud. Azure Container Registry also offers [image import](container-registry-import-images.md) for image copy from registries in connected clouds including Docker Hub and other cloud vendors.
19
+
Transfer is ideal for copying content between two Azure container registries in physically disconnected clouds, mediated by storage accounts in each cloud. For image copy from container registries in connected clouds including Docker Hub and other cloud vendors, [image import](container-registry-import-images.md) is recommended instead.
20
20
21
-
In this article, you use Azure Resource Manager template deployments to create and run the transfer pipeline. The Azure CLI is used to provision the associated resources such as storage secrets, key vaults, and managed identities. Azure CLI version 2.2.0 or later is recommended. If you need to install or upgrade the CLI, see [Install Azure CLI][azure-cli].
21
+
In this article, you use Azure Resource Manager template deployments to create and run the transfer pipeline. The Azure CLI is used to provision the associated resources such as storage secrets. Azure CLI version 2.2.0 or later is recommended. If you need to install or upgrade the CLI, see [Install Azure CLI][azure-cli].
22
22
23
-
This feature is available in the **Premium** container registry service tier. For information about registry service tiers and limits, see [Azure Container Registry SKUs](container-registry-skus.md).
23
+
This feature is available in the **Premium** container registry service tier. For information about registry service tiers and limits, see [Azure Container Registry tiers](container-registry-skus.md).
24
+
25
+
> [!IMPORTANT]
26
+
> This feature is currently in preview. Previews are made available to you on the condition that you agree to the [supplemental terms of use][terms-of-use]. Some aspects of this feature may change prior to general availability (GA).
24
27
25
28
## Prerequisites
26
29
@@ -46,7 +49,7 @@ You create the following three pipeline resources for image transfer between reg
46
49
Storage authentication uses SAS tokens, managed as secrets in key vaults. The pipelines use managed identities to read the secrets in the vaults.
47
50
48
51
***[ExportPipeline](#create-exportpipeline-with-resource-manager)** - Long-lasting resource that contains high-level information about the *source* registry and storage account. This information includes the source storage blob container URI and the key vault managing the source SAS token.
49
-
***[ImportPipeline](#create-importpipeline-with-resource-manager)** - Long-lasting resource that contains high-level information about the *target* registry and storage account. This information includes the target storage blob container URI and the key vault managing the target SAS token. An import trigger is enabled by default, so the pipeline runs automatically when an artifact blob lands in the target storage container.
52
+
***[ImportPipeline](#create-importpipeline-with-resource-manager)** - Long-lasting resource that contains high-level information about the *target* registry and storage account. This information includes the target storage blob container URI and the key vault managing the target SAS token. An import trigger is enabled by default, so the pipeline runs automatically when an artifact blob lands in the target storage container.
50
53
***[PipelineRun](#create-pipelinerun-with-resource-manager)** - Resource used to invoke either an ExportPipeline or ImportPipeline resource.
51
54
* You run the ExportPipeline manually by creating a PipelineRun resource and specify the artifacts to export.
52
55
* If an import trigger is enabled, the ImportPipeline runs automatically. It can also be run manually using a PipelineRun.
@@ -72,7 +75,7 @@ In the following example, command output is assigned to the EXPORT_SAS environme
72
75
EXPORT_SAS=?$(az storage container generate-sas \
73
76
--name transfer \
74
77
--account-name $SOURCE_SA \
75
-
--expiry 2020-05-01 \
78
+
--expiry 2021-01-01 \
76
79
--permissions alrw \
77
80
--https-only \
78
81
--output tsv)
@@ -101,7 +104,7 @@ In the following example, command output is assigned to the IMPORT_SAS environme
101
104
IMPORT_SAS=?$(az storage container generate-sas \
102
105
--name transfer \
103
106
--account-name $TARGET_SA \
104
-
--expiry 2020-05-01 \
107
+
--expiry 2021-01-01 \
105
108
--permissions dlr \
106
109
--https-only \
107
110
--output tsv)
@@ -210,11 +213,11 @@ IMPORT_RES_ID=$(az group deployment show \
210
213
--output tsv)
211
214
```
212
215
213
-
## Create PipelineRun with Resource Manager
216
+
## Create PipelineRun for export with Resource Manager
214
217
215
218
Create a PipelineRun resource for your source container registry using Azure Resource Manager template deployment. This resource runs the ExportPipeline resource you created previously, and exports specified artifacts from your container registry as a blob to your source storage account.
216
219
217
-
Copy PipelineRun Resource Manager [template files](https://github.com/Azure/acr/tree/master/docs/image-transfer/PipelineRun) to a local folder.
220
+
Copy PipelineRun Resource Manager [template files](https://github.com/Azure/acr/tree/master/docs/image-transfer/PipelineRun/PipelineRun-Export) to a local folder.
218
221
219
222
Enter the following parameter values in the file `azuredeploy.parameters.json`:
220
223
@@ -236,9 +239,6 @@ az deployment group create \
236
239
--parameters azuredeploy.parameters.json
237
240
```
238
241
239
-
> [!IMPORTANT]
240
-
> For artifact export, if prompted, leave the `sourceName` blank. For testing, you can also leave `catalogDigest` and `forceUpdateTag` values blank.
241
-
242
242
It can take several minutes for artifacts to export. When deployment completes successfully, verify artifact export by listing the exported blob in the *transfer* container of the source storage account. For example, run the [az storage blob list][az-storage-blob-list] command:
243
243
244
244
```azurecli
@@ -271,11 +271,11 @@ az acr repository list --name <target-registry-name>
271
271
272
272
If you didn't enable the `sourceTriggerStatus` parameter of the import pipeline, run the ImportPipeline resource manually, as shown in the following section.
273
273
274
-
### Run ImportPipeline resource manually (optional)
274
+
##Create PipelineRun for import with Resource Manager (optional)
275
275
276
276
You can also use a PipelineRun resource to trigger an ImportPipeline for artifact import to your target container registry.
277
277
278
-
Copy PipelineRun Resource Manager [template files](https://github.com/Azure/acr/tree/master/docs/image-transfer/PipelineRun) to a local folder.
278
+
Copy PipelineRun Resource Manager [template files](https://github.com/Azure/acr/tree/master/docs/image-transfer/PipelineRun/PipelineRun-Import) to a local folder.
279
279
280
280
Enter the following parameter values in the file `azuredeploy.parameters.json`:
281
281
@@ -295,9 +295,6 @@ az deployment group create \
295
295
--parameters azuredeploy.parameters.json
296
296
```
297
297
298
-
> [!IMPORTANT]
299
-
> For artifact import to your registry, if prompted, leave the `targetName` blank. You can also leave `catalogDigest` and `forceUpdateTag` values blank.
300
-
301
298
When deployment completes successfully, verify artifact import by listing the repositories in the target container registry. For example, run [az acr repository list][az-acr-repository-list]:
302
299
303
300
```azurecli
@@ -340,9 +337,13 @@ az deployment group delete \
340
337
* For other pipeline issues, provide the deployment [correlation ID](../azure-resource-manager/templates/deployment-history.md) of the export run or import run to the Azure Container Registry team.
341
338
342
339
340
+
## Next steps
343
341
342
+
To import single container images to an Azure container registry from a public registry or another private registry, see the [az acr import][az-acr-import] command reference.
0 commit comments