Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !
Docker : Compose a maintenant des spécifications officielles

L’outil, permettant le déploiement de conteneurs dans le cloud sur plusieurs plateformes, n’avait jusqu’à présent pas de spécifications, s’en tenant à l’implémentation des développeurs. Il en a désormais.

Leur arrivée devrait permettre une normalisation de l’utilisation de Compose un peu partout.

L’outil a également une gouvernance ouverte, via une nouvelle communauté dont font partie Amazon AWS, Microsoft et d’autres acteurs du cloud.

8 commentaires
Avatar de Obidoub Abonné
Avatar de ObidoubObidoub- 15/04/20 à 12:07:09

Alors, on fait dans les buzz word ? :non:

Rien à voir avec le cloud ou les plateformes, Compose c'est un outil qui permet de monter un ou plusieurs containers (avec les volumes et réseaux qui vont bien) à l'aide d'un fichier yaml déclaratif. Au lieu de devoir lancer 1 ligne de commande pour chaque container, on lance le docker-compose qui va poper tout le nécessaire.

Du coup j'avoue j'ai un peu de mal à comprendre cette histoire de "spécifications officielles" :reflechis: Même en allant sur la source je ne comprends pas bien ce qui change.

En plus les plateformes de Cloud privé ou public privilégient très fortement Kubernetes.

Édité par Obidoub le 15/04/2020 à 12:07
Avatar de kgersen Abonné
Avatar de kgersenkgersen- 15/04/20 à 12:59:12

Obidoub a écrit :

Rien à voir avec le cloud ou les plateformes

Bien au contraire cela a tout avoir avec le cloud et les plateformes. Compose fonctionne avec Swarm qui a précédé k8s et meme si ce dernier a le vent en poupe et a quasi tué Swarm il reste encore plein de systèmes en production qui utilisent Compose.

C'est notamment très pratique pour déployer du multi container simple sans la complexité de k8s. De toute facon le format Compose fonctionne avec k8s donc l'évolution/upgrade vers k8s est facilité (cf la doc de "docker stack deploy" avec k8s).

Ce qui change avec la spécification officielle c'est que maintenant n'importe peut peut proposer une implémentation ou des outils (comme kompose par exemple) sans être a la merci d'un changement de specs. Enfin c'est expliqué dans l'annonce.

C'est aussi un moyen pour la société Docker de déléguer ce projet a d'autres ...notamment Microsoft.

Édité par kgersen le 15/04/2020 à 13:00
Avatar de ben626 INpactien
Avatar de ben626ben626- 15/04/20 à 13:01:32

@Obidoub
Oui on sent que le/la rédacteur/rice de cette news ne maitrise pas le sujet.
 
L'objet de cette spécification c'est d'établir un standard autour de Compose qui ne dépend plus seulement de l'entreprise Docker mais d'une communauté, dont quelques très grosses entreprises. Jusqu'à présent seule Docker maintenait l'ensemble des règles autour de Compose. 
Quelque part, ça assoie un peu plus Compose dans le monde des containers.

Toutes les explications ici (en anglais) : https://github.com/compose-spec/compose-spec 

Avatar de Obidoub Abonné
Avatar de ObidoubObidoub- 15/04/20 à 13:37:57

kgersen a écrit :

Bien au contraire cela a tout avoir avec le cloud et les plateformes. Compose fonctionne avec Swarm qui a précédé k8s et meme si ce dernier a le vent en poupe et a quasi tué Swarm il reste encore plein de systèmes en production qui utilisent Compose.

Compose n'est pas lié à Swarm ! Il peut fonctionner en standalone et c'est ce qu'on lui demande de faire la plupart du temps.

Ensuite je ne vois pas le rapport avec le Cloud, Docker, Swarm et Compose fonctionnent sur n'importe quel serveur.

kgersen a écrit :

C'est notamment très pratique pour déployer du multi container simple sans la complexité de k8s. De toute facon le format Compose fonctionne avec k8s donc l'évolution/upgrade vers k8s est facilité (cf la doc de "docker stack deploy" avec k8s).

Là tu mélanges Swarm et Compose.

kgersen a écrit :

Ce qui change avec la spécification officielle c'est que maintenant n'importe peut peut proposer une implémentation ou des outils (comme kompose par exemple) sans être a la merci d'un changement de specs. Enfin c'est expliqué dans l'annonce.

C'est aussi un moyen pour la société Docker de déléguer ce projet a d'autres ...notamment Microsoft.

Si ça peut permettre d'utiliser AKS ou ECS avec des fichiers Compose, c'est une bonne nouvelle. Je confirme que Kubernetes est beaucoup trop complexe pour la plupart des usages. D'un autre côté Swarm n'est pas utilisable en contexte multi clients...

Édité par Obidoub le 15/04/2020 à 13:38
Avatar de Obidoub Abonné
Avatar de ObidoubObidoub- 15/04/20 à 13:40:07

Je crois comprendre que ça pourrait permettre d'utiliser des fichiers Compose pour d'autres plateformes que Docker et Swarm, par exemple directement sur un service dans le Cloud. Je trouve que c'est une bonne nouvelle.

Avatar de kgersen Abonné
Avatar de kgersenkgersen- 15/04/20 à 14:12:31

on utilise k8s hors du cloud aussi...

c'est ton "Rien à voir avec le cloud ou les plateformes" qui fait réagir c'est tout.

Avatar de ndeloof INpactien
Avatar de ndeloofndeloof- 16/04/20 à 07:44:35

Je me permet de répondre ici vu que je suis mainteneur de cette toute récente compose-spec :P

L'idée est de ne plus lier le format yaml des fichiers compose à l'outil docker-compose, qui en effet est dédié au développement sur une seule machine. Ca ne se réduit pas à simplifier de longues lignes de commandes comme tu le dis @Obidoub (chouette avatar :P), mais c'est un raccourci de langage acceptable. 

Il y a en effet Swarm qui utilise aussi ce format dans la commande docker stack deploy, mais le format compose est aussi utilisé par Amazon ECS (avec qui on travaille sur cette spec) et permet de cibler Helm et Kubernetes, via l'outil Kompose (https://github.com/kubernetes/kompose) ou bien compose-on-kubernetes qui est distribué avec Docker Desktop. 

 On peut aussi évoquer des utilisations du format pour d'autres scénarios, comme CloudBees CodeShip qui s'en sert pour définir les environnements de CI.

Bref, on parle bien du format de fichier, et de ses diverses utilisation, et de comment le faire évoluer pour couvrir plus/mieux les cas d'utilisation. docker-compose (l'outil) devient alors "juste" une implémentation parmi les autres. Le pitch de la compose-spec parle bien de "Cloud Providers", j'avoue que c'est un peu du marketing, même si on bosse en effet avec Amazon et Microsoft Azure, mais pour moi tous les usages se valent :P

Édité par ndeloof le 16/04/2020 à 07:44
Avatar de ForceRouge INpactien
Avatar de ForceRougeForceRouge- 16/04/20 à 17:33:59

ndeloof a écrit :

Je me permet de répondre ici vu que je suis mainteneur de cette toute récente compose-spec :P

L'idée est de ne plus lier le format yaml des fichiers compose à l'outil docker-compose, qui en effet est dédié au développement sur une seule machine. Ca ne se réduit pas à simplifier de longues lignes de commandes comme tu le dis @Obidoub (chouette avatar :P), mais c'est un raccourci de langage acceptable. 

Il y a en effet Swarm qui utilise aussi ce format dans la commande docker stack deploy, mais le format compose est aussi utilisé par Amazon ECS (avec qui on travaille sur cette spec) et permet de cibler Helm et Kubernetes, via l'outil Kompose (https://github.com/kubernetes/kompose) ou bien compose-on-kubernetes qui est distribué avec Docker Desktop. 

 On peut aussi évoquer des utilisations du format pour d'autres scénarios, comme CloudBees CodeShip qui s'en sert pour définir les environnements de CI.

Bref, on parle bien du format de fichier, et de ses diverses utilisation, et de comment le faire évoluer pour couvrir plus/mieux les cas d'utilisation. docker-compose (l'outil) devient alors "juste" une implémentation parmi les autres. Le pitch de la compose-spec parle bien de "Cloud Providers", j'avoue que c'est un peu du marketing, même si on bosse en effet avec Amazon et Microsoft Azure, mais pour moi tous les usages se valent :P

Merci pour l'explication officiel ;)

Il n'est plus possible de commenter cette actualité.