Il s'agit du deuxième article d'une série d'articles qui couvrira les limitations lors du téléchargement d'images de conteneurs.
В
Les limites de fréquence de téléchargement ont été précédemment annoncées dans notre
Plan gratuit, utilisateurs anonymes : 100 téléchargements en 6 heures
Forfait gratuit, utilisateurs autorisés : 200 téléchargements en 6 heures
Forfait Pro : illimité
Forfait équipe : illimité
La fréquence de téléchargement de Docker est définie comme le nombre de demandes de manifeste adressées à Docker Hub. Les limites de fréquence de téléchargement des images dépendent du type de compte demandant l'image, et non du type de compte du propriétaire de l'image. Pour les utilisateurs anonymes (non autorisés), la fréquence de téléchargement est liée à l'adresse IP.
NB Vous recevrez plus de subtilités et de cas de bonnes pratiques
Nous recevons des questions de clients et de la communauté concernant les couches d'images de conteneurs. Nous ne prenons pas en compte les couches d'images lorsque nous limitons la fréquence de téléchargement, car nous limitons les téléchargements de manifestes et le nombre de couches (requêtes blob) est actuellement illimité. Ce changement est basé sur les commentaires de la communauté pour le rendre plus convivial afin que les utilisateurs n'aient pas à compter les calques sur chaque look qu'ils utilisent.
Analyse détaillée des fréquences de téléchargement d'images Docker Hub
Nous avons passé beaucoup de temps à analyser le téléchargement d'images depuis Docker Hub pour déterminer la raison de la limite de vitesse, ainsi que la manière exacte de la limiter. Ce que nous avons vu a confirmé que pratiquement tous les utilisateurs téléchargent des images à un rythme prévisible pour les flux de travail typiques. Cependant, il y a une influence notable d'un petit nombre d'utilisateurs anonymes, par exemple, environ 30 % de tous les téléchargements proviennent de seulement 1 % des utilisateurs anonymes.
Les nouvelles limites sont basées sur cette analyse, de sorte que la plupart de nos utilisateurs ne seront pas affectés. Ces limites sont conçues pour refléter l'utilisation normale par les développeurs - apprentissage de Docker, développement de code, création d'images, etc.
Aider les développeurs à mieux comprendre les limites de fréquence de téléchargement
Maintenant que nous avons compris l'impact, et aussi où devaient se situer les limites, nous devions déterminer les conditions techniques de fonctionnement de ces restrictions. Restreindre le téléchargement d'images à partir du registre Docker est assez difficile. Vous ne trouverez pas d'API pour les téléchargements dans la description du registre - elle n'existe tout simplement pas. En fait, le téléchargement d'une image est une combinaison de demandes de manifeste et de blobs dans l'API, et ils sont exécutés différemment, selon l'état de le client et l'image demandée.
Par exemple, si vous avez déjà une image, Docker Engine émettra une demande de manifeste, comprendra qu'il possède déjà toutes les couches nécessaires en fonction du manifeste accepté, puis s'arrêtera. D'autre part, si vous téléchargez une image qui prend en charge plusieurs architectures, une demande de manifeste renverra une liste de manifestes d'image pour chaque architecture prise en charge. Le moteur Docker émettra alors une autre demande de manifeste pour l'architecture particulière sur laquelle il s'exécute, en retour, il obtiendra une liste de toutes les couches de l'image. Il interrogera ensuite chaque couche manquante (blob).
NB Ce sujet est traité plus largement dans
Il s'avère que le téléchargement d'une image est en fait une ou deux demandes manifestes, ainsi que de zéro à l'infini - demandes de calques (blob). Historiquement, Docker a suivi la fréquence de téléchargement couche par couche, car cela est principalement lié à l'utilisation de la bande passante. Mais néanmoins, nous avons écouté la communauté, ce qui est plus difficile, car il faut garder une trace du nombre de couches demandé, ce qui conduira à ignorer les meilleures pratiques concernant le travail avec le Dockerfile, et aussi plus intuitif pour les utilisateurs qui veulent juste travailler avec le registre sans trop comprendre les détails.
Nous limitons donc le nombre de requêtes en fonction des requêtes manifestes. Ceci est directement lié au téléchargement d'images, ce qui est facile à comprendre pour les utilisateurs. Il y a vraiment une petite nuance - si vous essayez de télécharger une image qui existe déjà, la demande sera toujours prise en compte, même si vous ne téléchargez pas les calques. Dans tous les cas, nous espérons que cette méthode de limitation de la fréquence des téléchargements sera à la fois juste et conviviale.
Dans l'attente de vos commentaires
Nous surveillerons les restrictions et apporterons des ajustements en conséquence en fonction des cas d'utilisation courants pour nous assurer que les restrictions sont appropriées pour chaque type d'utilisateur, et en particulier, nous essaierons de ne jamais empêcher les développeurs de faire leur travail.
Restez à l'écoute dans les semaines à venir pour un autre article sur l'amélioration des systèmes d'IC et de combat à la lumière de ces changements.
Enfin, dans le cadre de notre soutien à la communauté open source, nous proposerons de nouveaux plans tarifaires pour l'open source jusqu'au 1er novembre. Pour postuler, merci de remplir le formulaire
Pour plus d'informations sur les dernières modifications apportées aux conditions d'utilisation, veuillez visiter
Pour ceux qui ont besoin d'augmenter leurs limites de fréquence de téléchargement d'images, Docker propose des téléchargements d'images illimités en tant que fonctionnalité.
Source: habr.com