Tous les produits
Search
Centre de documentation

Container Registry:Générer des images sur une instance Container Registry Enterprise Edition

Dernière mise à jour :Aug 28, 2026

Configurez une instance ACR Enterprise Edition pour générer et transférer automatiquement des images de conteneur à chaque validation de code dans un dépôt connecté. Après la configuration, toute modification de code déclenche une génération et un transfert vers votre dépôt d'images.

Prérequis

Avant de commencer, assurez-vous que :

Informations générales

Le service de génération d'images ACR Enterprise Edition offre les fonctionnalités suivantes :

  • Sécurité : Chaque tâche de génération s'exécute dans un environnement exclusif à votre compte Alibaba Cloud, garantissant une isolation stricte entre les locataires.

  • Stabilité : Les tâches de génération s'exécutent dans votre environnement dédié, ce qui garantit des temps de génération constants pour plusieurs builds issus du même dépôt de code source.

  • Accélération intelligente :

    • ACR utilise BuildKit par défaut, qui offre des capacités robustes pour les scénarios de génération en plusieurs étapes et prend en charge de nombreuses fonctionnalités de build.

    • ACR héberge localement les images de base courantes, évitant ainsi leur téléchargement depuis des sources externes et réduisant le temps de génération.

    • ACR utilise des caches distants pour accélérer davantage la génération d'images.

Plateformes d'hébergement de code prises en charge

Le tableau suivant répertorie les plateformes d'hébergement de code prises en charge par Container Registry Enterprise Edition :

  • ACR prend en charge les plateformes d'hébergement de code suivantes :

    Plateforme d'hébergement de code

    Version

    Méthode d'authentification pour la liaison

    Limite de déclenchement des générations d'images

    Gitee

    Toutes les versions

    Authentification OAuth Gitee

    Aucune

    GitHub

    Version développeur GitHub

    Authentification OAuth GitHub

    Aucune

    GitLab

    Toutes les versions

    Jeton d'accès personnel

    Aucune

    Bitbucket

    Toutes les versions

    Authentification OAuth Gitee

    Aucune

    Remarque

    Les instances Personal Edition ne peuvent pas être liées à Gitee.

  • Génération d'images accélérées : Après avoir transféré une image de conteneur, ACR peut générer automatiquement une version accélérée de celle-ci. Pour plus d'informations, consultez la rubrique Charger les ressources d'une image de conteneur à la demande.

Étape 1 : Lier votre instance à une plateforme d'hébergement de code

Liez l'instance à une plateforme d'hébergement de code afin qu'ACR puisse accéder à votre code source et déclencher des générations lors des modifications de code. Pour obtenir des instructions détaillées, consultez la rubrique Lier une plateforme d'hébergement de code source.

Important
  • Vous ne pouvez pas générer d'images à partir d'un dépôt de code local (on-premises).

  • Pour lier un dépôt de code GitLab privé dans un cloud privé virtuel (VPC), consultez la rubrique Générer une image de conteneur dans un VPC.

Étape 2 : Créer un namespace

Créez un namespace pour organiser vos dépôts d'images. L'activation de la création automatique de dépôts vous permet de configurer des paramètres par défaut appliqués à tous les dépôts sous ce namespace.

  1. Connectez-vous à la console Container Registry.

  2. Dans la barre de navigation supérieure, sélectionnez une région.

  3. Dans le volet de navigation de gauche, cliquez sur Instances.

  4. Sur la page Instances, cliquez sur l'instance Enterprise Edition pour laquelle vous souhaitez créer un namespace.

  5. Dans le volet de navigation de gauche, choisissez Repository > Namespace.

  6. Sur la page Namespace, cliquez sur Create Namespace.

  7. Dans le panneau latéral Create Namespace, configurez Namespace et définissez Automatically Create Repository sur On ou Off. Puis cliquez sur Confirm.

    Si vous définissez Automatically Create Repository sur On, configurez les paramètres suivants :

    Paramètre

    Description

    Repository Type

    Sélectionnez Public ou Private. Public : Par défaut, les images publiques nécessitent que les utilisateurs se connectent à l'instance avant de pouvoir les extraire. Pour autoriser les extractions anonymes, activez le paramètre d'extraction publique anonyme de l'instance. Étant donné que les dépôts publics peuvent être extraits par des utilisateurs non autorisés, définissez les dépôts sur Private pour protéger vos données. Private : Les utilisateurs doivent se connecter à l'instance et disposer d'une autorisation Pull avant de pouvoir extraire des images privées.

    Immutable Image Tags

    Sélectionnez Flexible ou Immutable. Lorsque ce paramètre est défini sur Immutable, tous les tags d'image sauf latest ne peuvent pas être écrasés.

    Accelerated Images

    Lorsque cette option est activée, une version accélérée de chaque image est automatiquement générée après le transfert de l'image. Le tag de l'image accélérée comporte le suffixe _accelerated.

Étape 3 : Créer un dépôt d'images

Remarque

Les images accélérées ne peuvent être générées que sur des instances Container Registry Standard Edition ou Advanced Edition. Mettez à niveau les instances Basic Edition vers Standard Edition ou Advanced Edition avant de générer des images accélérées.

Créez un dépôt d'images et liez-le à un dépôt de code source. Toutes les images générées à partir de ce dépôt de code source sont transférées vers ce dépôt d'images.

  1. Connectez-vous à la console Container Registry.

  2. Dans la barre de navigation supérieure, sélectionnez une région.

  3. Dans le volet de navigation de gauche, cliquez sur Instances.

  4. Sur la page Instances, cliquez sur l'instance Enterprise Edition que vous souhaitez gérer.

  5. Dans le volet de navigation de gauche, choisissez Repository > Repositories.

  6. Sur la page Repositories, cliquez sur Create Repository.

  7. À l'étape Repository Info, configurez Namespace, Repository Name, Repository Type, Tags, Accelerated Image, Summary et Description. Puis cliquez sur Next.

  8. À l'étape Code Source, configurez Code Source, Build Settings et Build Rules, puis cliquez sur Create Repository.

  9. Le tableau suivant décrit les paramètres de Build Settings :

    Paramètre

    Description

    Automatically Build Images When Code Changes

    Lorsque cette option est activée, la règle de génération est automatiquement déclenchée lorsque du code est validé dans une branche.

    Build With Servers Deployed Outside Chinese Mainland

    Activez cette option si votre source de code se trouve sur GitHub ou Bitbucket, ou si votre Dockerfile télécharge des dépendances depuis l'extérieur de la Chine et que la connexion réseau transfrontalière est instable. ACR utilise un lien accéléré pour extraire les sources de données externes pendant la génération. Cette option n'est disponible que dans certaines régions. Si l'option n'apparaît pas lors de la création d'un dépôt d'images, la région actuelle ne prend pas en charge cette fonctionnalité.

    Build Without Cache

    Lorsque cette option est activée, ACR extrait l'image de base depuis la source à chaque fois, en ignorant les couches mises en cache. Cela peut ralentir les générations. Désactivez cette option pour utiliser les couches mises en cache et accélérer les builds.

    Sur la page Repositories, cliquez sur le dépôt d'images créé. Si Build s'affiche dans le volet de navigation de gauche de la page de gestion du dépôt, le dépôt d'images est lié au dépôt de code source.

Étape 4 : Générer une image

Configurez des règles de génération pour définir comment et quand ACR génère des images à partir de votre dépôt, puis déclenchez une génération et vérifiez le résultat.

Remarque

Si vous ne trouvez pas Build dans la page de gestion du dépôt, l'instance n'est pas liée à la plateforme d'hébergement de code. Revenez à l'Étape 1 pour relier l'instance.

  1. Connectez-vous à la console Container Registry.

  2. Dans la barre de navigation supérieure, sélectionnez une région.

  3. Dans le volet de navigation de gauche, cliquez sur Instances.

  4. Sur la page Instances, cliquez sur l'instance Enterprise Edition que vous souhaitez gérer.

  5. Dans le volet de navigation de gauche de la page des détails de l'instance, choisissez Repository > Repositories.

  6. Sur la page Repositories, recherchez le dépôt d'images que vous avez créé et cliquez sur Manage dans la colonne Actions.

  7. Dans le volet de navigation de gauche, cliquez sur Build. Dans la section Build Rules, cliquez sur Add Build Rule. À l'étape Build Information, configurez les paramètres suivants, puis cliquez sur Next.

    Paramètre

    Description

    Type

    Le type de dépôt de code source. Valeurs possibles : Branch et Tag.

    Branch/Tag

    Sélectionnez ou saisissez une branche ou un tag. Les expressions régulières sont prises en charge. Par exemple, si vous saisissez release-(?<imageTag>\w*) , ACR génère automatiquement une image lorsque le code source de la branche release-v1 est mis à jour. Pour plus d'informations sur les groupes de capture nommés, consultez Utiliser des expressions régulières dans les groupes de capture nommés .

    Remarque

    Lorsque vous utilisez une expression régulière, seul ACR peut déclencher des générations. Les générations manuelles ne sont pas prises en charge.

    Build Context Directory

    Le répertoire contenant le Dockerfile, relatif à la racine de la branche ou du tag. Par exemple, si la branche est master et que le Dockerfile se trouve à la racine de la branche, définissez ce paramètre sur /.

    Dockerfile Filename

    Le nom du fichier Dockerfile. Le nom par défaut est Dockerfile.

  8. À l'étape Tag, configurez les paramètres suivants, cliquez sur Save, puis sur Next.

    Remarque

    Cliquez sur Add Configuration pour ajouter des tags d'image. Vous pouvez ajouter jusqu'à trois tags d'image.

    Paramètre

    Description

    Image Tag

    Le tag de l'image générée, par exemple latest. Les groupes de capture nommés sont pris en charge. Si vous avez défini un groupe de capture nommé dans Branch/Tag, référencez la valeur capturée ici.

    Build Time

    (Facultatif) L'heure (UTC+8) à laquelle le code source est transféré. Formats acceptés : 20201015 ou 202010151613 .

    Remarque

    Si vous définissez ce paramètre, seul ACR peut déclencher des générations. Les générations manuelles ne sont pas prises en charge.

    Commit ID

    (Facultatif) Le nombre de caractères à utiliser à partir de l'ID de validation (commit) du code transféré le plus récemment. Par défaut, les six premiers caractères sont utilisés. Ajustez le curseur pour modifier le nombre.

    Remarque

    Si vous définissez ce paramètre, seul ACR peut déclencher des générations. Les générations manuelles ne sont pas prises en charge.

  9. À l'étape Build Configurations, configurez les paramètres suivants, puis cliquez sur Next.

    Paramètre

    Description

    Build Architecture

    Sélectionnez une ou plusieurs architectures cibles. Si vous sélectionnez plusieurs architectures, ACR génère une image distincte pour chaque architecture sous le même tag.

    Build Parameters

    Paires clé-valeur transmises au processus de génération. Les noms de paramètres sont sensibles à la casse. Configurez jusqu'à 20 paramètres de génération en cliquant sur Add Configuration.

  10. Déclenchez une génération en utilisant l'une des méthodes suivantes :

    • Dans la section Build Rules de la page Build, recherchez la règle de génération et cliquez sur Build dans la colonne Actions.

    • Poussez une validation de code vers la branche configurée du dépôt de code source pour déclencher automatiquement la règle de génération.

  11. Surveillez la génération : Dans la section Build Log, recherchez la tâche de génération d'image et cliquez sur Log dans la colonne Actions pour afficher le journal de génération. Pour arrêter une génération en cours, cliquez sur Cancel dans la colonne Actions.

  12. Vérifiez le résultat : Dans le volet de navigation de gauche, cliquez sur Image Tag. Si l'image que vous avez générée est répertoriée, la génération a réussi.

    Dans le volet de navigation de gauche, cliquez sur Image Tag. Si l'image que vous avez créée s'affiche, l'image est générée.

Exemples

Les deux exemples suivants illustrent des configurations courantes de règles de génération. L'exemple 1 est une configuration simple qui prend en charge les générations manuelles et automatiques. L'exemple 2 utilise une expression régulière pour créer des tags d'image versionnés à partir des noms de branches de release, et ne prend en charge que les générations automatiques.

Exemple 1 : Génération à partir de la branche principale (générations manuelles autorisées)

Objectif : Générer une image avec le tag latest à partir de la branche principale, déclenchable manuellement ou automatiquement lors du push de code.

Paramètre

Valeur

Type

Branch

Branch/Tag

main

Build Context Directory

/

Dockerfile Filename

Dockerfile

Image Tag

latest

Résultat : Lorsque vous cliquez sur Build ou lorsque le code source de la branche main est mis à jour, ACR génère l'image en utilisant le Dockerfile situé dans le répertoire racine de la branche main. L'image générée reçoit le tag latest.

Étant donné que Build Time et Commit ID ne sont pas configurés, vous pouvez déclencher des générations manuellement.

基于main构建规则.png

Exemple 2 : Génération à partir d'une branche correspondant à une regex (générations manuelles non autorisées)

Objectif : Générer automatiquement des images versionnées à partir des branches de release, où le nom de la branche détermine le tag de l'image.

Paramètre

Valeur

Type

Branch

Branch/Tag

release-(?<imageTag>\w*)

Build Context Directory

/

Dockerfile Filename

Dockerfile

Image Tag

${imageTag}

Build Time

yyyyMMddHHmm

Commit ID

30

Résultat : Lorsque le code source d'une branche dont le nom commence par release- est mis à jour, ACR génère automatiquement une image. L'expression régulière release-(?<imageTag>\w*) capture la partie version du nom de la branche et l'assigne à la variable imageTag, qui est ensuite utilisée dans le tag de l'image.

Par exemple, un push vers la branche release-v1 capture v1 comme imageTag. Combiné avec l'heure de génération et l'ID de commit, le tag d'image résultant est : v1-202010151625-d4ef3dc3b77a011a5779eec7efdd45.

Étant donné que Build Time et Commit ID sont configurés, seul ACR peut déclencher cette génération. Les générations manuelles ne sont pas prises en charge.

基于正则规则构建规则.png

Étapes suivantes

Une fois l'image générée, utilisez-la dans les clusters Container Service for Kubernetes (ACK) de l'une des manières suivantes :