Présentation d’Azure Container Registry
Azure Container Registry est un service de registre managé basé sur le registre Docker open source 2.0. Créez et tenez à jour des registres de conteneurs Azure pour stocker et gérer vos images de conteneur et les artefacts associés.
Utilisez des registres de conteneurs avec vos pipelines de développement et de déploiement de conteneurs existants, ou utilisez Azure Container Registry Tasks pour générer des images conteneur dans Azure. Créez des builds à la demande ou des builds entièrement automatisées avec des déclencheurs tels que des validations du code source ou des mises à jour d’images de base.
Pour en savoir plus sur Docker et les concepts de registre, consultez Vue d’ensemble de Docker dans la documentation Docker et À propos des registres, des référentiels et des images.
Cas d'utilisation
Extrayez des images à partir d’un registre de conteneur Azure pour différents objectifs de déploiement :
- Des systèmes d’orchestration évolutifs qui gèrent des applications en conteneur sur des clusters d’hôtes, y compris de Kubernetes, du contrôleur de domaine/système d’exploitation et de Docker Swarm.
- Services Azure qui prennent en charge la génération et l’exécution d’applications à grande échelle, par exemple AKS (Azure Kubernetes Service), App Service, Batch et Service Fabric.
Les développeurs peuvent également effectuer un push vers un registre de conteneur dans le cadre d’un flux de travail de développement de conteneur. Par exemple, vous pouvez cibler un registre de conteneurs à partir d’un outil d’intégration continue et livraison continue (CI/CD) tel qu’Azure Pipelines ou Jenkins.
Configurez Azure Container Registry Tasks pour regénérer automatiquement les images d’application quand les images de base correspondantes sont mises à jour, ou pour automatiser les générations d’images quand votre équipe effectue un commit du code dans un dépôt Git. Créez des tâches multiétapes pour automatiser la génération, les tests et les mises à jour correctives d’images conteneur en parallèle dans le cloud.
Azure fournit des outils tels qu’Azure CLI et le portail Azure, et prend en charge des API pour la gestion de vos registres de conteneurs. Si vous le souhaitez, installez l’extension Docker et l’extension de compte Azure pour Visual Studio Code. Vous pouvez utiliser ces extensions pour tirer (pull) des images d’un registre de conteneurs, envoyer (push) des images vers un registre de conteneurs ou exécuter Azure Container Registry Tasks, le tout dans Visual Studio Code.
Fonctionnalités clés
Niveaux de service des registres : créez un ou plusieurs registres de conteneurs dans votre abonnement Azure. Les registres sont disponibles dans trois niveaux : Essentiel, Standard et Premium. Chaque niveau prend en charge l’intégration des webhooks, l’authentification de registre avec Microsoft Entra ID et la fonctionnalité de suppression.
Tirez parti du stockage local proche du réseau de vos images de conteneur en créant un registre dans le même emplacement Azure que vos déploiements. Utilisez la fonctionnalité de géoréplication des registres Premium pour la réplication avancée et la distribution d’images conteneur.
Sécurité et accès : vous vous connectez à un registre à l’aide d’Azure CLI ou de la commande
docker login
standard. Azure Container Registry transfère les images conteneur via HTTPS, et prend en charge TLS pour sécuriser les connexions clientes.Important
Depuis le 13 janvier 2020, Azure Container Registry impose l’utilisation de TLS 1.2 pour toutes les connexions sécurisées établies à partir des serveurs et des applications. Activez TLS 1.2 à l’aide d’un client Docker récent (version 18.03.0 ou ultérieure).
Vous contrôlez l’accès à un registre de conteneurs à l’aide d’une identité Azure, d’un principal de service Microsoft Entra ou d’un compte administrateur fourni. Utilisez le contrôle d’accès en fonction du rôle (RBAC) Azure pour attribuer des autorisations de registre spécifiques aux utilisateurs ou aux systèmes.
Les fonctionnalités de sécurité du niveau de service Premium incluent l’approbation de contenu pour la signature des étiquettes d’images, et les pare-feu et réseaux virtuels (préversion) pour restreindre l’accès au registre. Microsoft Defender pour le cloud s’intègre éventuellement à Azure Container Registry pour analyser les images chaque fois que vous envoyez (push) une image vers un registre.
Images et artefacts pris en charge : quand les images sont regroupées dans un référentiel, chaque image est une capture instantanée en lecture seule d’un conteneur compatible Docker. Les registres de conteneur Azure peuvent inclure des images de Windows et Linux. Vous contrôlez les noms d’images pour tous les déploiements de votre conteneur.
Utilisez des commandes Docker standard pour envoyer (push) des images vers un référentiel, ou tirer (pull) une image d’un référentiel. En plus des images conteneurs Docker, Azure Container Registry stocke des formats de contenu associés comme les graphiques Helm et les images générées selon la spécification du format d’image Open Container Initiative (OCI).
Générations d’images automatisées : utilisez Azure Container Registry Tasks pour simplifier la génération, le test, l’envoi (push) et le déploiement d’images dans Azure. Par exemple, utilisez Azure Container Registry Tasks pour étendre votre boucle interne de développement au cloud en déchargeant les opérations
docker build
sur Azure. Configurez des tâches de build pour automatiser le pipeline des mises à jour correctives (infrastructure et système d’exploitation du conteneur) et ainsi créer automatiquement des images lorsque votre équipe valide le code pour contrôler la source.Les tâches multiétapes permettent la définition et l’exécution basées sur une tâche pour la génération, le test et la mise à jour corrective d’images conteneur dans le cloud. Les étapes relatives aux tâches définissent les opérations de génération et d’envoi (push) individuelles pour les images conteneur. Elles permettent également de définir l’exécution d’un ou de plusieurs conteneurs, où chaque étape utilise un conteneur en tant qu’environnement d’exécution.