Comment fonctionnent les registres de conteneurs Docker ? – CloudSavvy IT


Les registres de conteneurs Docker comme le Docker Hub sont des plateformes d’hébergement et de partage de conteneurs Docker. Alors que le Docker Hub par défaut se concentre sur les conteneurs publics, la plupart des fournisseurs de cloud comme AWS et GCP exécuteront leurs propres registres de conteneurs privés.

Que sont les registres Docker ?

Les registres de conteneurs sont un système de stockage et de distribution en ligne pour les images Docker nommées. C’est assez similaire à un gestionnaire de packages comme NPM, car il peut également stocker différentes versions d’images. Toute personne disposant d’un compte de registre peut se connecter et télécharger des images construites en exécutant docker push avec un username/imagename paramètre:

docker push anthonyheddings/testcontainer

Ensuite, si vous souhaitez utiliser ce conteneur ailleurs, vous pouvez le télécharger de la même manière :

docker pull anthonyheddings/testcontainer

Sauf si vous construisez votre image FROM scratch, vous utilisez probablement le Docker Hub. Le Docker Hub est le registre Docker par défaut.

Lorsque vous écrivez un Dockerfile pour votre application, vous pouvez étendre les images du Docker Hub en utilisant le FROM commander:

FROM ubuntu

Pour certains conteneurs comme ubuntu, ils sont Images officielles de Docker, ce qui signifie qu’ils sont si largement utilisés que vous n’avez pas besoin de spécifier le nom d’utilisateur qui l’a téléchargé (ce qui peut être redondant si vous ne faites que taper ubuntu/ubuntu).

Étiquetage des conteneurs

Les conteneurs des registres Docker sont organisés en référentiels. Ils sont assez similaires au concept des référentiels Git, sauf qu’au lieu de branches, les conteneurs sont organisés à l’aide de balises différentes.

Les balises sont simplement des étiquettes qui offrent un meilleur moyen de gérer le contrôle de version et les versions. Vous pouvez les affecter à n’importe quel build terminé. Plutôt que de référencer l’ID de build, vous pouvez baliser une image avec une étiquette au format major.minor.patch et être facilement en mesure de déterminer quelle image correspond à quelle image ou quel que soit le format préféré par votre organisation.

Si vous ne spécifiez pas de balise, Docker appliquera automatiquement la « dernière » balise. Chaque fois que vous extrayez une image du Hub, vous tirez probablement latest sauf si vous spécifiez un numéro de version.

Vous pouvez utiliser docker tag pour marquer manuellement les images, mais c’est beaucoup plus facile à utiliser -t avec docker build.

 docker build -t username/image:tag .

Lorsque vous envoyez l’image au Docker Hub ou à tout autre registre, vous pouvez extraire différentes versions en fonction de leur balise.

Alternatives à Docker Hub

Le Docker Hub est la valeur par défaut, donc si vous n’en spécifiez pas une autre, toutes les commandes Docker qui fonctionnent avec les registres ajouteront hub.docker.com par défaut.

Cependant, de nombreux fournisseurs de cloud proposent leurs propres registres Docker en tant que service, qui s’intègrent généralement aux autres services liés aux conteneurs qu’ils fournissent. Par exemple, il y a Registre de conteneurs Google, qui fonctionne bien avec Cloud Run et son service Kubernetes.

Vous pouvez basculer vers un nouveau registre, vous ajoutez simplement l’URL du registre à toutes les références de conteneur. Pour GCR, ce serait gcr.io:

gcr.io/anthonyheddings/test

Tout comme Docker Hub, vous devrez vous connecter au registre avec connexion docker.

AWS a Registre de conteneurs élastique, qui fonctionne bien avec Service de conteneur élastique et EService Kubernetes lastic.

Azure a le Registre de conteneurs Azure, qui fonctionne avec leur service Kubernetes.



Vous pouvez lire l’article original (en Angais) sur le sitewww.cloudsavvyit.com