Outils de développement · Docker exécuté vers Docker compose converter
De Fig à Compose v2 : un petit historique du fichier Docker Compose
· Contexte
menu fixe composer configuration
Compose a démarré en tant qu'outil tiers appelé Fig et a utilisé plusieurs formats de fichiers avant la spécification actuelle. Cet article retrace les étapes qui expliquent les fichiers que vous trouvez encore dans la nature.
Trois fichiers d'apparence différente dans une seule entreprise : un fichier sans version, une version : "2" et un compose.yaml sans aucune version.
Trois fichiers d'apparence différente dans une seule entreprise : un fichier sans version, une version : '2' et un compose.yaml sans aucune version. Preuve : des fichiers d'apparence différente peuvent cohabiter mais ce référentiel ne fournit aucune chronologie. Reproduisez la forme du fichier avec des littéraux jetables. Associez chaque occurrence source aux réseaux de volumes de services ; réserver la chronologie historique 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 seuls les volumes nommés et les réseaux personnalisés peuvent ajouter des sections de niveau supérieur. Preuve : seuls les volumes nommés et les réseaux personnalisés peuvent ajouter des sections de niveau supérieur. Cette contrainte de forme de fichier est un point d’arrêt. Inspectez les réseaux de volumes de services sans comportement de fabrication, puis documentez une vérification de l'hôte pour la chronologie historique.
Les preuves du référentiel n'établissent pas l'historique de Fig, cette section explique donc les limites actuelles de l'analyseur.
Fig — le projet Orchard qui a introduit l'idée d'un fichier YAML décrivant les conteneurs liés. Preuve : les allégations d'acquisition et de libération de figues n'ont aucune source dans l'arbre inspecté ; Les preuves du référentiel n'établissent pas l'historique de Fig, cette section explique donc les limites actuelles de l'analyseur. Tracez les jetons de forme de fichier dans les réseaux de volumes de services. Séparez les valeurs ordonnées des champs de dernière valeur ; la chronologie historique est hors 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 forme de fichier pour prédire un membre ou un scalaire dans les réseaux de volumes de services. Vérifiez les avertissements avant de décider quoi que ce soit concernant la chronologie historique.
Aucune chronologie d'acquisition ou de sortie n'est fournie ici ; comparez plutôt l'entrée d'apparence héritée avec la sortie actuelle
Docker Compose 1.0 — l'acquisition et le changement de nom, ainsi que le format de fichier v1 sans services : clé. Preuve : le modèle actuel commence toujours par des services et un nom de service ; Aucune chronologie d'acquisition ou de sortie n'est fournie ici ; comparez plutôt l’entrée d’apparence héritée avec la sortie actuelle. Jugez la sérialisation de la forme du fichier à partir de son modèle. La citation dans les réseaux de volumes de services protège les types mais ne donne aucune preuve opérationnelle de la chronologie historique.
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 forme de fichier sépare les paramètres du contexte indisponible. Gardez les réseaux de volumes de services consultables et vérifiez la chronologie historique de manière indépendante.
Le modèle de niveau supérieur observable du générateur est constitué de services ainsi que de volumes et de réseaux facultatifs.
Formats 2 et 3 — services, réseaux et volumes en tant que clés de niveau supérieur, puis déploiement orienté Swarm : paramètres. Preuve : seuls les volumes nommés et les réseaux personnalisés peuvent ajouter des sections de niveau supérieur ; Le modèle de premier niveau observable du générateur est constitué de services ainsi que de volumes et de réseaux facultatifs. Arrêtez-vous à l'exception de forme de fichier au lieu de deviner. Tout ajout à proximité des réseaux de volumes de services nécessite une raison spécifique au déploiement liée à la chronologie historique.
Une autre contrainte d'exception de configuration est que pour cette section de configuration, conservez l'original de la commande et des avertissements pour cette section de configuration à côté de ce fichier candidat. Conservez la commande de forme de fichier d'origine à côté des avertissements. La comparaison montre quels volumes de services les réseaux contiennent et quelle décision de chronologie historique reste manuelle.
L'implémentation émet un sous-ensemble sans version mais ne revendique pas une conformité totale à la spécification Compose
La spécification Compose — fusionnant les formats en un seul schéma maintenu à l'air libre. Preuve : la sortie sans version n’établit pas une conformité complète aux spécifications ; L'implémentation émet un sous-ensemble sans version mais ne revendique pas une conformité totale à la spécification Compose. Créez l'exemple de forme de fichier à partir de noms synthétiques. Rendre chaque élément de réseau de volumes de services traçable sans exposer les détails de la chronologie historique de la production.
Le même exemple de configuration montre que pour cette section de configuration, conservez la commande et les avertissements originaux de cette section de configuration à côté de ce fichier candidat. Le fait de forme de fichier apparié doit être visible dans les réseaux de volumes de services. Enregistrez cette ligne et évitez les hypothèses sur la chronologie historique.
L'historique de mise en œuvre de Compose se trouve en dehors des preuves du référentiel ; le comportement de sortie est le sujet pris en charge
Compose v2 — la réécriture dans Go en tant que plugin Docker CLI et la fin du docker-compose Python. Preuve : l'omission actuelle de la version est observable, alors que les jalons ne le sont pas ; L’historique de mise en œuvre de Compose est en dehors des preuves du référentiel ; le comportement de sortie est le sujet pris en charge. Traduisez la conséquence de la forme du fichier en une différence observable entre les volumes de services et les réseaux. Docker est propriétaire du verdict ultérieur de la chronologie historique.
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é. Répartir les responsabilités en matière de forme de fichier : la conversion écrit les volumes de services sur les réseaux, le référentiel supprime les secrets et les opérateurs valident la chronologie historique.
Ce que cela ne couvre pas : mode Swarm, manifestes Kubernetes et autres formats d'orchestration
Ce que cela ne couvre pas : mode Swarm, manifestes Kubernetes et autres formats d'orchestration. Preuve : Swarm Kubernetes et les orchestrateurs alternatifs sont en dehors de la source. Limitez la portée de la forme de fichier aux branches de réseaux de volumes de services indiquées ici. Les formulaires et valeurs par défaut voisins ne peuvent pas répondre aux questions de chronologie historique.
Une limite de portée de configuration supplémentaire découle d'une limite de limite de configuration distincte : les revendications d'acquisition et de publication de Fig n'ont aucune source dans l'arborescence inspectée. Preuve : Les allégations d'acquisition et de libération de figues n'ont aucune source dans l'arbre inspecté. Traitez cette limite de forme de fichier comme une exclusion. Préférez les réseaux de volumes de services précis aux suppositions sur la chronologie historique.
À retenir : le fichier que vous écrivez aujourd'hui suit la spécification - et le convertisseur vous donne une définition de service à déposer dans un fichier de cette forme
À retenir : le fichier que vous écrivez aujourd'hui suit la spécification - et le convertisseur vous donne une définition de service à déposer dans un fichier de cette forme. Preuve : le comportement actuel peut être documenté sans établir de chronologie. Auditez la forme du fichier en tant qu'option source, champ de modèle, ligne de réseaux de volumes de services et avertissement. Supprimez les secrets avant de vérifier la chronologie historique.
Enfin, la source à retenir de la configuration confirme Une limite de décision de configuration distincte est que le modèle actuel commence toujours par des services et un nom de service. Preuve : le modèle actuel commence toujours par des services et un nom de service. Fermer la forme du fichier de manière étroite : les réseaux de volumes de services sont candidats ; la chronologie historique et l'équivalence des coques ne sont pas des garanties.