Les avis d'obsolescence suivants concernent Container Registry. Consultez également les avis d'obsolescence relatifs à Docker et le journal des modifications associé.
API Docker Registry v1 et clients Docker antérieurs à la version 1.6
Le 14 décembre 2016, nous avons annoncé qu'à compter du 28 février 2017, avec la publication de Docker v1.13, Docker Engine n'était plus compatible avec le protocole v1.
En conséquence, Container Registry ne fonctionne plus avec les clients Docker antérieurs à la version 1.6. Depuis le 28 février 2017, les clients Docker antérieurs à la version 1.6 ne peuvent plus communiquer avec l'API Container Registry et les images de conteneur utilisant la v1 du protocole et stockées dans Container Registry ne sont plus exploitables.
Pour savoir si cette modification affecte vos images, procédez comme suit :
Vérifiez la version du client Docker que vous utilisez en exécutant la commande suivante :
gcloud docker -- --version
Si la version de votre client est antérieure à la version 1.6, vous devez mettre à jour votre client Docker. Ensuite, vous devez mettre à jour vos images avec la version 2 du protocole Docker Registry.
Extrayez une image v1 concernée :
gcloud docker -- pull gcr.io/[PROJECT-ID]/[IMAGE]
Transférez à nouveau l'image :
gcloud docker -- push gcr.io/[PROJECT-ID]/[IMAGE]
Pour en savoir plus sur les protocoles v1 et v2 de Docker Registry, consultez la documentation relative aux Formats d'images de conteneurs.
Buckets Container Registry non standards
Depuis le 28 février 2017, l'utilisation des registres "venant avec leur propre bucket", tels que b.gcr.io
et bucket.gcr.io
, est obsolète. Container Registry ne diffuse plus aucune image de conteneur hébergée dans ces buckets.
Pour continuer à utiliser vos images, vous devez les déplacer vers un emplacement Container Registry standard tel que gcr.io
, us.gcr.io
, asia.gcr.io
ou eu.gcr.io
.
Pour migrer vos images de conteneurs d'un bucket non standard vers un bucket standard, procédez comme suit :
Extrayez les images depuis le bucket non standard :
gcloud docker -- pull b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG]
Ajoutez aux images de nouveaux tags correspondant à des noms d'emplacements de registre standards :
gcloud docker -- tag b.gcr.io/[BUCKET-NAME]/[IMAGE]:[TAG] [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
Transférez à nouveau l'image vers Container Registry (à l'aide du client Docker 1.6 ou version ultérieure) en utilisant l'ID de projet cible :
gcloud docker -- push [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]
Modifications concernant le stockage des métadonnées des images de conteneurs
Depuis le 28 février 2017, Container Registry a changé l'emplacement où il stocke les fichiers de métadonnées des images de conteneurs. Les métadonnées d'image désignent des informations telles que le nom d'image, les tags d'image, ainsi que les fichiers manifestes qui identifient les fichiers de couches (en condensé) constituant une image.
Cette modification peut vous affecter si vous consultez ou manipulez directement les fichiers de métadonnées dans votre bucket Cloud Storage, par exemple l'historique des modifications ou la gestion du cycle de vie des objets en vue de leur suppression.
Auparavant, lorsque vous transfériez des images vers Container Registry, l'API Container Registry stockait les métadonnées et les fichiers de couches de ces images dans un bucket Cloud Storage au sein de votre projet. Depuis le 28 février 2017, Container Registry stocke les métadonnées d'image dans une base de données de backend à hautes performances pour améliorer les performances et les fonctionnalités. Les fichiers de couches des images sont toujours stockés dans Cloud Storage.
Un compte de service Container Registry a été ajouté automatiquement à votre projet, avec un nom semblable à [PROJECT-NUMBER]@containerregistry.iam.gserviceaccount.com
.
Ce compte de service a lui-même activé la nouvelle API Container Registry et géré la migration. Veuillez ne pas supprimer ou rétrograder ce compte de service, ni désactiver la nouvelle API Container Registry.
gcloud docker
et versions de clients Docker supérieures à la version 18.03
Depuis le 3 avril 2018, gcloud docker
n'est plus compatible avec les versions de clients Docker supérieures à la version 18.03.
Pour authentifier les requêtes auprès de Container Registry avec un client dans une version supérieure à la version 18.03, utilisez gcloud
en tant qu'assistant d'identification Docker. Pour ce faire, exécutez la commande suivante :
gcloud auth configure-docker
Vous pouvez également utiliser l'une des autres méthodes d'authentification avancées.