Moby: Commande Docker pour vérifier si une image de conteneur local est obsolète?

Créé le 10 févr. 2017  ·  3Commentaires  ·  Source: moby/moby

Dites par rapport à l'image distante sur dockerhub. J'ai cherché un moyen canonique de faire cela, mais tout ce que j'ai pu trouver, ce sont des scripts bash fragiles et autres. Aucun moyen officiel et recommandé d'effectuer un tel contrôle. Une question de débordement de pile n'a pas encore abouti à une réponse définitive. Cette question similaire n’a pas non plus été

Pouvoir vérifier si une image locale est obsolète par rapport à sa télécommande est assez utile pour les environnements de développement et de préparation (docker-cloud vous permet même de configurer des conteneurs de mise à jour automatique pour cela). Je sais qu'il est possible d'utiliser un webhook pour déclencher une nouvelle extraction après une création d'image réussie, mais disons que je veux pouvoir lancer la vérification depuis mon serveur, au lieu de devoir l'écouter.

Ai-je raison de supposer qu'il n'y a actuellement aucune commande docker disponible pour effectuer cette vérification, ou ai-je manqué une solution native de docker évidente à ce problème?

aredistribution areimages kinquestion

Commentaire le plus utile

Il y a cependant une différence entre «mettre à jour aveuglément» et simplement être notifié de la modification de l'image distante (en utilisant la même balise), de sorte que vous puissiez démarrer votre processus de construction et d'assurance qualité.

Tous les 3 commentaires

Non, il n'y a actuellement aucune option intégrée pour vérifier si une image est "obsolète". La mise à jour automatique des conteneurs est quelque chose qui diffère vraiment selon les cas d'utilisation; La mise à jour "aveugle" vers la dernière image n'est pas anodine. Par exemple, some-image:latest peut entraîner une image complètement différente (par exemple, ubuntu:latest fait référence à la dernière version de "LTS", qui à un moment donné est passée de 14.04 à 16.04), en même temps, some-image:1.2.3 "ressemble" à une balise SemVer (ish), mais il n'y a aucune garantie, car c'est à l'auteur de l'image de décider à la fois du schéma de "balise" et de ce que cela signifie (en gros, les balises ne sont qu'un forme "étiquette").

Pour cette raison, il est recommandé d'utiliser un identifiant immuable pour vos conteneurs (par exemple ubuntu<strong i="9">@sha256</strong>:aabbbcccddd ); qui vous permet de _tester_ la version exacte de l'image que vous exécutez, et d'avoir la garantie qu'il s'agit de la _ même version_ que celle testée dans votre processus de contrôle qualité.

Cela dit, il existe quelques options;

  • lorsque vous utilisez docker compose , vous pouvez docker-compose pull pour extraire la dernière version de toutes les images utilisées dans votre pile de composition
  • quand _building_ images, vous pouvez docker build --pull ..... pour forcer l'extraction de l'image définie dans FROM avant de commencer une compilation
  • lors de l'utilisation des services; docker service update --force --image foo:bar <servicename> résout la dernière version de l'image foo:bar spécifiée et "épingle" toutes les instances du service à cette version

J'espère que cela répond à votre question. Veuillez garder à l'esprit que l'outil de suivi des problèmes GitHub n'est pas conçu comme un forum d'assistance général, mais pour signaler des bogues et des demandes de fonctionnalités. Pour les autres types de questions, envisagez d'utiliser l'une des;

Je vais fermer ce problème car ce n'est pas un bug, mais n'hésitez pas à poursuivre la conversation 👍

Il y a cependant une différence entre «mettre à jour aveuglément» et simplement être notifié de la modification de l'image distante (en utilisant la même balise), de sorte que vous puissiez démarrer votre processus de construction et d'assurance qualité.

En effet. Un mécanisme stable par lequel on peut détecter les mises à jour d'un conteneur _ sans re-télécharger le conteneur entier chaque jour_ serait génial.

Les mises à jour de sécurité sont extrêmement importantes, et l'absence de cette fonctionnalité ne facilite pas la mise à jour .....

Cette page vous a été utile?
0 / 5 - 0 notes