Français

Outils de développement · Docker exécuté vers Docker compose converter

La clé de version dans les fichiers Compose est obsolète : qu'est-ce qui l'a remplacée Configuration

· Contexte

menu fixe composer configuration

Le diagramme abstrait illustrant la clé de version dans les fichiers de composition est obsolète : par quoi l'a remplacé
Illustration vectorielle originale de ToolAcre

Pendant des années, chaque fichier Compose commençait par la version : '3'. Cet article explique quel numéro a été sélectionné, pourquoi la spécification Compose l'a supprimé et que faire avec les fichiers dont vous disposez.

Un nouvel avertissement sur chaque commande : "la version est obsolète" sur un fichier qui fonctionne inchangé depuis des années

Un nouvel avertissement sur chaque commande : "la version est obsolète" sur un fichier qui fonctionne inchangé depuis des années. Preuve : le rédacteur commence par les services et les tests rejettent une clé de version de niveau supérieur. Reproduisez la suppression de la clé de version avec des littéraux jetables. Associez chaque occurrence source à la sortie des services sans version ; réserver la compatibilité héritée pour l’examen de la destination.

L'incident de configuration révèle également qu'une limite distincte de l'incident de configuration est que le résultat pris en charge est un document limité sans version. Preuve : le résultat pris en charge est un document limité sans version. Cette contrainte de suppression de clé de version est un point d’arrêt. Inspectez la sortie des services sans version sans comportement de fabrication, puis documentez une vérification de l'hôte pour la compatibilité héritée.

Ce référentiel vérifie l'omission de la version, et non les tableaux historiques de compatibilité moteur-format.

Quelle version : sélectionnée – format de fichier 1, 2.x ou 3.x, chacun étant lié à un moteur Docker minimum et à un ensemble de clés autorisées. Preuve : aucune table de compatibilité moteur-format n'existe dans ce référentiel ; Ce référentiel vérifie l'omission de la version, et non les tableaux historiques de compatibilité moteur-format. Tracez les jetons de suppression de clé de version dans la sortie des services sans version. Séparez les valeurs ordonnées des champs de dernière valeur ; la compatibilité héritée est en dehors de la collection.

Une limite du mécanisme de configuration connexe est que pour cette section de configuration, conservez l'original de la commande et des avertissements de cette section de configuration à côté de ce fichier candidat. Preuve : le référentiel ne donne aucune preuve d'exécution ou historique plus large. Utilisez ce fait de suppression de clé de version pour prédire un membre ou un scalaire dans la sortie des services sans version. Vérifiez les avertissements avant de décider quoi que ce soit concernant la compatibilité héritée.

Le code n'établit pas pourquoi les branches de format antérieures ont divergé, il documente donc les clés générées actuellement.

Pourquoi 2 et 3 ont divergé — Clés orientées Swarm dans 3, limites de ressources dans 2 et confusion qui en a résulté. Preuve : la divergence historique ne s’explique pas par la mise en œuvre du convertisseur ; Le code n'établit pas pourquoi les branches de format antérieures ont divergé, il documente donc les clés générées actuellement. Jugez la sérialisation de la suppression de la clé de version de son modèle. La citation dans la sortie des services sans version protège les types mais ne donne aucune preuve opérationnelle de la compatibilité héritée.

La deuxième observation de sérialisation de configuration est de conserver pour cette section de configuration la commande d'origine pour cette section de configuration et les avertissements à côté de cette section de configuration, ce fichier candidat que le résultat de sérialisation de configuration sépare représenté pour cette section de configuration, la configuration du contexte absent pour cette section de configuration, les métadonnées d'image sont en dehors de la transformation de sérialisation de configuration. Cette sortie de suppression de clé de version sépare les paramètres du contexte indisponible. Gardez les résultats des services sans version consultables et vérifiez la compatibilité héritée de manière indépendante.

La réponse de la spécification : un schéma, pas de champ de version, des fonctionnalités contrôlées par l'implémentation de Compose.

La réponse de la spécification : un schéma, pas de champ de version, des fonctionnalités contrôlées par l'implémentation de Compose. Arrêtez-vous à l'exception de suppression de la clé de version au lieu de deviner. Tout ajout de services quasiment sans version nécessite une raison spécifique au déploiement liée à la compatibilité existante.

Une autre contrainte d'exception de configuration est qu'une limite d'exception de configuration distincte est que la sémantique Python et Swarm héritée nécessite des références versionnées. Preuve : la sémantique existante de Python et Swarm nécessite des références versionnées. Conservez la commande de suppression de clé de la version originale à côté des avertissements. La comparaison montre ce que contiennent les résultats des services sans version et quelle décision de compatibilité héritée reste manuelle.

Que faire avec les anciens fichiers : supprimer la clé, vérifier les clés v2 uniquement ou v3 uniquement et exécuter Docker Compose config

Que faire avec les anciens fichiers : supprimer la clé, vérifier les clés v2 uniquement ou v3 uniquement et exécuter Docker Compose config. Preuve : la suppression d'une version ne peut pas valider toutes les clés héritées restantes. Créez l'exemple de suppression de clé de version à partir de noms synthétiques. Rendre chaque élément de sortie des services sans version traçable sans exposer les détails de compatibilité de l'héritage de production.

Le même exemple de configuration démontre qu'une limite distincte de l'exemple de configuration est que la nouvelle sortie s'inscrit sous les services sans prétendre à une compatibilité universelle. Preuve : la nouvelle production s’inscrit dans la catégorie des services sans prétendre à une compatibilité universelle. Le fait de suppression de la clé de version associée doit être visible dans la sortie des services sans version. Enregistrez cette ligne et évitez les hypothèses sur la compatibilité héritée.

Exemple fonctionnel : supprimez uniquement la ligne de version après avoir examiné toutes les clés restantes

Exemple concret : modernisation d'une version : fichier '2.1' — trois modifications et le diff avant et après. Preuve : un exemple de modernisation devrait supprimer uniquement ce marqueur après examen ; Exemple concret : supprimez uniquement la ligne de version après avoir examiné toutes les clés restantes. Traduisez la conséquence de la suppression de la clé de version en une différence de sortie observable des services sans version. Docker possède le dernier verdict de compatibilité hérité.

L'implémentation des conséquences de la configuration montre également pour cette section de configuration conserver l'original pour cette section de configuration, la commande et les avertissements à côté de cette section de configuration, ce fichier candidat, le fait des conséquences de la configuration définit ce que pour cette section de configuration le navigateur a contribué pour cette section de configuration, docker possède toujours le verdict d'exécution des conséquences de la configuration, l'opérateur pour cette section de configuration possède toujours la politique de sécurité des conséquences de la configuration, le référentiel pour cette section de configuration a toujours besoin que le secret des conséquences de la configuration soit supprimé, garder pour cette section de configuration ces responsabilités séparées lorsque pour cette section de configuration décrivant le service généré. Responsabilités de suppression des clés de version fractionnée : la conversion écrit la sortie des services sans version, le référentiel supprime les secrets et les opérateurs valident la compatibilité héritée.

Les exigences de l'ancien outil Python et le comportement de déploiement de Swarm ne sont pas déduits de ce convertisseur

Ce que cela ne couvre pas : l'ancien Python docker-compose v1, qui nécessite toujours la clé, et les paramètres de déploiement spécifiques à Swarm. Preuve : la sémantique héritée de Python et Swarm nécessite des références versionnées ; Les exigences de l'outil Python hérité et le comportement de déploiement de Swarm ne sont pas déduits de ce convertisseur. Limitez la portée de la suppression de la clé de version aux branches de sortie des services sans version indiquées ici. Les formulaires voisins et les valeurs par défaut ne peuvent pas répondre aux questions de compatibilité héritées.

Une limite supplémentaire de portée de configuration découle de la conservation de la commande d'origine pour cette section de configuration et des avertissements à côté de ce fichier candidat. Traitez cette limite de suppression de clé de version comme une exclusion. Préférez les résultats précis des services sans version aux suppositions sur la compatibilité héritée.

À retenir : le format de fichier a une forme actuelle — et une définition de service fraîchement convertie tient sous services : sans ligne de version

À retenir : le format de fichier a une forme actuelle — et une définition de service fraîchement convertie tient sous services : sans ligne de version. Auditez la suppression de la clé de version en tant qu'option source, champ de modèle, ligne de sortie des services sans version et avertissement. Supprimez les secrets avant de vérifier la compatibilité héritée.

Enfin, la source à retenir de la configuration confirme qu'une limite de décision de configuration distincte est que la divergence historique n'est pas expliquée par la mise en œuvre du convertisseur. Preuve : la divergence historique ne s’explique pas par la mise en œuvre du convertisseur. Fermez de peu la suppression de la clé de version : la sortie des services sans version est candidate ; la compatibilité héritée et l'équivalence du shell ne sont pas des garanties.