Comment résoudre l'erreur 'manifest unknown' lors du téléchargement d'images

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Docker est une plateforme de conteneurisation puissante qui a révolutionné la façon dont les applications sont développées, déployées et mises à l'échelle. Cependant, les utilisateurs peuvent parfois rencontrer l'erreur 'manifest unknown' lorsqu'ils essaient de télécharger des images Docker. Ce tutoriel vous guidera tout au long du processus de diagnostic et de résolution de ce problème, garantissant ainsi une gestion transparente des images Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/push("Push Image to Repository") docker/ImageOperationsGroup -.-> docker/rmi("Remove Image") docker/ImageOperationsGroup -.-> docker/images("List Images") subgraph Lab Skills docker/pull -.-> lab-417519{{"Comment résoudre l'erreur 'manifest unknown' lors du téléchargement d'images"}} docker/tag -.-> lab-417519{{"Comment résoudre l'erreur 'manifest unknown' lors du téléchargement d'images"}} docker/push -.-> lab-417519{{"Comment résoudre l'erreur 'manifest unknown' lors du téléchargement d'images"}} docker/rmi -.-> lab-417519{{"Comment résoudre l'erreur 'manifest unknown' lors du téléchargement d'images"}} docker/images -.-> lab-417519{{"Comment résoudre l'erreur 'manifest unknown' lors du téléchargement d'images"}} end

Introduction aux images Docker

Les images Docker sont les éléments de base de l'écosystème Docker. Ce sont des modèles en lecture seule qui contiennent les instructions nécessaires pour créer un conteneur Docker. Ces images encapsulent l'application, ses dépendances et l'environnement d'exécution requis, facilitant ainsi le déploiement et l'exécution cohérents des applications sur différents environnements.

Comprendre les images Docker

Les images Docker sont construites à l'aide d'une série de couches (layers), où chaque couche représente un changement ou une addition spécifique à l'image. Ces couches sont empilées les unes sur les autres, créant un environnement complet et autonome pour l'application. Lorsqu'un conteneur Docker est créé, il est basé sur une image Docker spécifique, héritant de toutes les couches et configurations définies dans cette image.

graph TD A[Docker Image] --> B[Layer 1] B --> C[Layer 2] C --> D[Layer 3] D --> E[Layer 4] E --> F[Layer 5]

Télécharger des images Docker

Pour utiliser une image Docker, vous devez la télécharger depuis un registre Docker, comme Docker Hub, le dépôt officiel d'images Docker. Vous pouvez télécharger une image en utilisant la commande docker pull, en spécifiant le nom de l'image et son étiquette (version) que vous souhaitez télécharger.

docker pull ubuntu:22.04

Cette commande téléchargera l'image Ubuntu 22.04 depuis le registre Docker Hub.

Explorer les images Docker

Une fois que vous avez une image Docker, vous pouvez explorer son contenu et inspecter ses couches à l'aide de diverses commandes Docker, telles que docker image ls et docker history.

## Lister toutes les images Docker
docker image ls

## Afficher l'historique d'une image Docker
docker history ubuntu:22.04

Ces commandes vous aideront à comprendre la structure et le contenu de vos images Docker, ce qui est essentiel pour résoudre les problèmes et gérer vos applications basées sur Docker.

Diagnostic de l'erreur 'manifest unknown'

L'erreur 'manifest unknown' est un problème courant qui peut survenir lors du téléchargement d'images Docker depuis un registre. Cette erreur indique généralement que le client Docker est incapable de trouver l'image ou la couche d'image (layer) demandée dans le registre.

Comprendre l'erreur 'manifest unknown'

L'erreur 'manifest unknown' peut survenir pour plusieurs raisons, notamment :

  1. Nom d'image ou étiquette incorrects : Le nom d'image ou l'étiquette (tag) que vous essayez de télécharger peut être incorrect ou mal orthographié.
  2. Architecture d'image non prise en charge : L'image que vous essayez de télécharger peut ne pas être compatible avec l'architecture de votre hôte Docker.
  3. Problèmes de connectivité au registre : Il peut y avoir des problèmes de connectivité entre votre hôte Docker et le registre, empêchant le téléchargement réussi de l'image.

Résolution de l'erreur 'manifest unknown'

Pour résoudre l'erreur 'manifest unknown', vous pouvez suivre ces étapes :

  1. Vérifiez le nom d'image et l'étiquette : Vérifiez à nouveau le nom d'image et l'étiquette que vous utilisez dans la commande docker pull. Assurez-vous que l'image et l'étiquette existent dans le registre.
docker pull ubuntu:22.04
  1. Vérifiez l'architecture de l'hôte Docker : Assurez-vous que l'image que vous essayez de télécharger est compatible avec l'architecture de votre hôte Docker. Vous pouvez utiliser la commande docker version pour vérifier l'architecture de l'hôte.
docker version
  1. Inspectez la connexion au registre : Vérifiez votre connectivité réseau au registre en effectuant un ping sur le nom d'hôte ou l'adresse IP du registre. Vous pouvez également utiliser la commande docker info pour vérifier la configuration du registre.
docker info
  1. Réessayez le téléchargement avec des journaux détaillés : Essayez de télécharger à nouveau l'image avec le flag --debug ou -v pour obtenir une sortie plus détaillée, ce qui peut aider à identifier la cause racine du problème.
docker pull --debug ubuntu:22.04

En suivant ces étapes, vous pouvez diagnostiquer et résoudre efficacement l'erreur 'manifest unknown' lors du téléchargement d'images Docker.

Résolution du problème 'manifest unknown'

Une fois que vous avez diagnostiqué la cause racine de l'erreur 'manifest unknown', vous pouvez prendre les mesures nécessaires pour résoudre le problème et télécharger avec succès l'image Docker souhaitée.

Mise à jour du client et du démon Docker

Une solution courante consiste à vous assurer que votre client et votre démon Docker sont à jour. Les versions obsolètes de Docker peuvent ne pas être en mesure de gérer certains formats d'image ou configurations de registre, entraînant l'erreur 'manifest unknown'. Mettez à jour votre installation Docker vers la dernière version stable.

## Mettre à jour Docker sur Ubuntu 22.04
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

Spécification de l'architecture de l'image

Si le problème est lié à une architecture d'image incompatible, vous pouvez essayer de télécharger l'image avec l'étiquette (tag) d'architecture correcte. Docker prend en charge les images multi-architectures, et vous pouvez utiliser le flag --platform pour spécifier l'architecture souhaitée.

## Télécharger l'image Ubuntu 22.04 pour l'architecture amd64
docker pull --platform=linux/amd64 ubuntu:22.04

Accès à un autre registre

Si le problème est lié à des problèmes de connectivité avec le registre, vous pouvez essayer de télécharger l'image depuis un autre registre. Par exemple, vous pouvez utiliser le registre Docker LabEx au lieu de Docker Hub par défaut.

## Télécharger une image depuis le registre Docker LabEx
docker pull labex.azurecr.io/ubuntu:22.04

Effacement du cache Docker

Parfois, l'erreur 'manifest unknown' peut être causée par une image ou une couche (layer) mise en cache dans le démon Docker. Vous pouvez essayer d'effacer le cache Docker pour forcer un téléchargement frais.

## Effacer le cache Docker
docker system prune -a

En suivant ces étapes, vous devriez être en mesure de résoudre l'erreur 'manifest unknown' et de télécharger avec succès l'image Docker souhaitée.

Résumé

Dans ce guide complet, nous avons exploré l'erreur 'manifest unknown' dans le contexte du téléchargement d'images Docker. En comprenant les causes racines et en mettant en œuvre les solutions efficaces présentées, vous pouvez désormais gérer avec confiance vos images Docker et éviter cette erreur courante. Grâce aux connaissances acquises, vous pouvez rationaliser vos flux de travail basés sur Docker et garantir le bon fonctionnement de vos applications conteneurisées.