Si vous vous demandez comment mettre à niveau vers Docker Compose V2, sachez qu’après avoir été en version bêta pendant près d’un an, Docker Compose V2 est désormais disponible dans sa version stable. Vous pouvez donc utiliser cet outil de gestion de conteneurs sans aucune complication.
Les utilisateurs peuvent donc déjà passer à la version aujourd’hui, c’est pourquoi nous avons décidé de réaliser ce guide dans lequel nous allons vous donner toutes les informations nécessaires pour savoir comment mettre à niveau vers Docker Compose V2 d’une manière rapide, simple et surtout efficace.
Toutefois, avant de commencer à expliquer comment procéder à la mise à niveau, nous souhaitons vous donner quelques informations sur certaines des nouvelles fonctionnalités que vous pouvez trouver dans cette nouvelle version.

Quelles sont les nouveautés de Docker Compose V2 ?
Dans Docker Compose V2, nous pouvons trouver un certain nombre de nouvelles fonctionnalités très intéressantes, comme la fonctionnalité familière de Compose au CLI normal. Ainsi, au lieu d’interagir avec un vinaire séparé, Compose est maintenant utilisé de manière intégrée dans Docker.dockerdocker-composedocker compose, et la commande suivante peut être remplacée :
$ docker-compose up -d
Avec des commandes comme celles-ci :
$ docker compose up -d
Vous serez également très intéressé de savoir que Compose V2 comporte également plusieurs nouvelles fonctionnalités qui améliorent l’expérience utilisateur :
- Il peut maintenant être utilisé pour copier des fichiers entre l’hôte et les conteneurs.docker compose cp.
- Les fournisseurs de cloud sont désormais des cibles valables, ce qui permet de déployer des conteneurs sur Microsft ACI.docker compose up ou sur Amazon ECS.
- Une gestion de projet mieux optimisée : les utilisateurs ont désormais la possibilité d’exécuter des commandes sans avoir besoin de se trouver dans le même répertoire que leur . En outre, il existe également une nouvelle commande qui liste tous les projets Compose.docker-compose-ymldocker compose – -projet name my-project stopdocker compose Is.
- Docker Compose est maintenant inscrit dans Go, comme Docker, plutôt que d’être encore considéré comme un utilitaire Python distinct. Cela permet à Compose de réutiliser le code de la CLI principale de Dcoker, afin de créer un comportement plus cohérent.
Avez-vous des incompatibilités avec Docker Compose V1 ?
Une chose très importante à noter est que Compose V2 est compatible avec Compose V2 dans presque tous les aspects et types d’utilisation. Vous n’avez donc pas vraiment besoin de modifier les fichiers ou d’apprendre de nouvelles commandes, sauf pour le passage à . Dans le cas où vous avez vos propres outils autour de la commande, alors cela peut être changé en appelant .docker-compose.ymldocker-composedocker composedocker-composedocker compose.
La grande majorité des migrations sont généralement simples, mais ne négligez pas le fait que Compose V2 a introduit des changements très importants qui pourraient affecter des cas d’utilisation spécifiques :
- Les conteneurs sont créés avec des traits d’union dans leurs noms au lieu d’utiliser des traits de soulignement. Cela signifie qu’un service appelé dans le projet créera un conteneur appelé , au lieu de . Cela peut interrompre les scripts qui s’attendent à ce que l’ancien format de nom de conteneur soit utilisé. Cette modification peut actuellement être désactivée en incluant le drapeau avec les commandes de composition .dbappapp-dbappapp_db- -compatibilitydocker.
- Docker compose construit en utilisant BuildKit par défaut. BuildKit est un système de construction plus récent et beaucoup plus rapide. BuildKit est un système de construction recommandé, mais il présente encore quelques incompatibilités avec le mécanisme de complication hérité qui pourraient causer des problèmes dans certains cas. Mais notez que BuildKit peut être désactivé en définissant la variable d’environnement avant d’exécuter les commandes .docker_buildkit=0docker compose.
- Suppression de certains drapeaux de commande obsolètes, qui ne sont pas pris en charge et dont la commande est ignorée au profit de . Les scripts devront donc être modifiés en fonction des versions des commandes .docker compose rm –alldocker compose scaledocker compose up –scaledocker-compose.
Étapes de la mise à niveau sous Linux
Comme mentionné ci-dessus, bien que Compose soit désormais intégré à la CLI de Docker, il ne peut pas être activé par défaut dans Docker Engine. Vous pouvez installer Compsoe V2 en l’ajoutant en tant que module complémentaire au Docker CLI.
Mais veuillez noter que vous devez disposer de Docker V20.10.13 ou d’une version plus récente pour pouvoir le faire.
Afin de mettre à jour les dépôts de paquets, vous devez installer : docker-compose-plugin
$ sudo apt update
$ sudo apt install docker-compose-plugin
Vous pouvez vérifier que la mise à jour a réussi en récupérant la version de Docker Compose :
$ docker compose versión
Docker Compose version v2.3.3
Maintenant que vous avez fait cela, vous avez la possibilité de supprimer Docker Composer V1, à moins que vous ne souhaitiez le conserver afin de lui donner une compatibilité avec les anciens scripts. Les deux V1 et V2 peuvent coexister sans complications majeures si vous le souhaitez.
Au cas où vous voudriez supprimer la V1, elle se trouve généralement sous la forme d’un seul binaire dans : docker-composedocker compose/usr/local/bin/docker-compose
$ sudo rm /usr/local/bin/docker-compose
Vous avez maintenant la possibilité de configurer un alias de shell afin de pouvoir facilement rediriger vers . Cela vous permettra de continuer à utiliser les scripts Compose V1, même si vous utilisez la nouvelle version v2 .docker-composed-compose compose
$ echo ‘alias docker-compose=»docker compose»‘ >> ~/.bashrc
$ source ~/.bashrc
$ docker-compose version
Docker Compose version v2.3.3
Après avoir fait cela, vous pouvez commencer à gérer vos conteneurs avec Compose V2 sans aucun problème.
Mise à niveau sur Windows et Mac à l’aide de Docker Desktop
Parmi les détails importants dont nous pensons que vous devez avoir connaissance, nous pensons que vous ne devez pas négliger le fait que Compose V2 inclut Docker Desktop version 3.4 et supérieure. Ainsi, la V2 est devenue la version par défaut de Compose dans la V4.4.2 ; si vous avez déjà effectué la mise à jour, vous pouvez l’utiliser dès maintenant.

D’autre part, la V4.4.2 fait aussi l’aliasing automatiquement. Dans Compose V1, il est inaccessible par défaut. Vous pouvez désactiver cet alias en exécutant la commande ou en décochant la case «Use Docker Compose V2» sur la page de configuration de Docker Desktop. La commande reviendra alors à l’utilisation de Compose V1 . docker-composedocker composedocker-compose disable-v2docker-compose.
Qu’est-ce qui nous attend ?
Une chose que vous devez absolument garder à l’esprit est que Composer V1 continue de prendre en charge les corrections de certains bogues de sécurité de «haute gravité» et d’autres corrections de bogues pendant les quelques mois qui suivent la sortie de la V2.
Toutefois, il ne faut pas oublier que le support V1 prendra fin en octobre 2022. Ainsi, nous pouvons dire que la V1 est dans les derniers mois de sa vie utile, donc une fois que le mois d’octobre arrive, il est préférable d’arrêter d’utiliser cette version. À ce stade, Docker Desktop sera mis à jour pour n’accepter que la V2. Vous devrez l’utiliser car l’aliasing sera supprimé. Vous devrez continuer à utiliser la version au cas où vous auriez encore besoin de la V1 .docker composedocker-compose.
Vous avez la possibilité de continuer à utiliser la V1 indéfiniment en l’installant comme un binaire autonome. Il est disponible pour Windows, Linux et Mac sur la page officielle Github du projet. Bien que ces binaires continueront à fonctionner indéfiniment, la grande majorité des projets devront passer à la V2 d’ici peu. Ceci afin d’avoir accès à tous les correctifs, mises à jour de sécurité et nouvelles fonctionnalités qui seront ajoutés dans la version V2 de Compose Docker.
Conclusion
Comment mettre à niveau vers Docker Compose v2 ? En tenant compte de toutes les informations que nous vous avons données précédemment dans cet article, vous devriez déjà avoir une meilleure compréhension de la façon de mettre à niveau vers Docker Compose V2, ainsi que des corrections que nous pouvons attendre de cette nouvelle version.
D’autre part, les utilisateurs de Docker Desktop recevront la mise à jour automatiquement, tandis que les mises à jour de Docker Engine Linux seront prises en charge par le module complémentaire CLI.docker-compose-plugin.
Il est important de noter que la prise en charge de Compose V1 se termine dans moins de deux mois. C’est pourquoi il est vraiment important de vérifier que vos scripts sont compatibles, puis de passer à la V2 dans les prochaines semaines. Vous aurez la possibilité d’utiliser Compose au sein de la CLI et de bénéficier des fonctionnalités de la V2, ainsi que des profils de service et de la commande docker compose ls.docker.