Partager via


Prise en charge des caractères génériques pour le cache d’artefacts dans Azure Container Registry

Les caractères génériques utilisent des astérisques (*) pour établir une correspondance avec plusieurs chemins d’accès dans le registre d’images conteneur. Cet article répertorie les caractères génériques pris en charge par la fonctionnalité de cache d’artefacts pour Azure Container Registry (ACR).

Remarque

Mappage des règles de cache à partir de target repository =>source repository.

Caractère générique au niveau du registre

Le caractère générique au niveau du registre vous permet de mettre en cache tous les référentiels à partir d’un registre en amont.

Règle de cache Cartographie Exemple :
contoso.azurecr.io/* =>mcr.microsoft.com/* Mappage de toutes les images sous ACR à MCR. contoso.azurecr.io/myapp/image1 =>mcr.microsoft.com/myapp/image1<br>contoso.azurecr.io/myapp/image2 =>mcr.microsoft.com/myapp/image2

Caractère générique au niveau du référentiel

Le caractère générique au niveau du référentiel vous permet de mettre en cache tous les référentiels d’un mappage de registre en amont au préfixe du référentiel.

Règle de cache Cartographie Exemple :
contoso.azurecr.io/dotnet/* =>mcr.microsoft.com/dotnet/* Mappage de référentiels spécifiques sous ACR aux référentiels correspondants dans MCR. contoso.azurecr.io/dotnet/sdk =>mcr.microsoft.com/dotnet/sdk
contoso.azurecr.io/dotnet/runtime =>mcr.microsoft.com/dotnet/runtime
contoso.azurecr.io/library/dotnet/* =>mcr.microsoft.com/dotnet/*
contoso.azurecr.io/library/python/* =>docker.io/library/python/*
Mappage de référentiels spécifiques sous ACR aux référentiels de différents registres en amont. contoso.azurecr.io/library/dotnet/app1 =>mcr.microsoft.com/dotnet/app1
contoso.azurecr.io/library/python/app3 =>docker.io/library/python/app3

Limitations pour les règles de cache basées sur des caractères génériques

Les règles de cache avec des caractères génériques utilisent des astérisques (*) pour établir une correspondance avec plusieurs chemins d’accès dans le registre d’images conteneur. Ces règles ne peuvent pas chevaucher d’autres règles de cache générique en ciblant le même chemin de référentiel, ou en ciblant plusieurs chemins d’accès où un chemin inclut l’autre. En d’autres termes, si vous avez une règle de cache générique pour un certain chemin d’accès au Registre, vous ne pouvez pas ajouter une autre règle générique qui se chevauche.

Voici quelques exemples de règles qui se chevauchent :

Exemple 1 :

Règle de cache existante : contoso.azurecr.io/* => mcr.microsoft.com/*
Nouvelle règle de cache : contoso.azurecr.io/library/* => docker.io/library/*

L’ajout de la nouvelle règle de cache est bloqué, car le chemin d’accès du référentiel cible contoso.azurecr.io/library/* chevauche la règle avec des caractères génériques existante contoso.azurecr.io/*.

Exemple 2 :

Règle de cache existante : contoso.azurecr.io/library/* =>mcr.microsoft.com/library/*
Nouvelle règle de cache : contoso.azurecr.io/library/dotnet/* =>docker.io/library/dotnet/*

Exemple 3 :

Règle de cache existante : contoso.azurecr.io/* => mcr.microsoft.com/*
Nouvelle règle de cache : contoso.azurecr.io/* => docker.io/library/*

L’ajout de la nouvelle règle de cache est bloqué, car deux règles utilisent le même chemin de contoso.azurecr.io/*référentiel cible.

L’ajout de la nouvelle règle de cache est bloqué, car le chemin d’accès du référentiel cible contoso.azurecr.io/library/dotnet/* chevauche la règle avec des caractères génériques existante contoso.azurecr.io/library/*.

Limitations pour les règles de cache statiques/fixes

Les règles de cache statiques ou fixes sont plus spécifiques et n’utilisent pas de caractères génériques. Ils peuvent potentiellement chevaucher les règles de cache basées sur des caractères génériques. Si une règle de mise en cache spécifie un chemin d’accès de référentiel fixe, elle autorise le chevauchement avec une règle de mise en cache basée sur des caractères génériques. Toutefois, vous ne pouvez pas créer plusieurs règles statiques qui pointent vers le même chemin de référentiel exact.

Exemple 1 :

Règle de cache existante : contoso.azurecr.io/* =>mcr.microsoft.com/*
Nouvelle règle de cache : contoso.azurecr.io/library/dotnet =>docker.io/library/dotnet

L’ajout de la nouvelle règle de cache est autorisé, car contoso.azurecr.io/library/dotnet est un chemin d’accès statique et peut chevaucher la règle avec des caractères génériques contoso.azurecr.io/*.

Exemple 2 :

Règle de cache existante : contoso.azurecr.io => mcr.microsoft.com/*
Nouvelle règle de cache : contoso.azurecr.io => docker.io/library/*

L’ajout de la nouvelle règle de cache est bloqué, car deux règles utilisent le même chemin de contoso.azurecr.ioréférentiel cible.

Étapes suivantes