[Mémo] Installation de docker compose v2 sur Linux

EVOTk

Modérateur
Membre du personnel
/usr/libexec/docker/cli-plugins/docker-composeBonjour,
Depuis le 28 Septembre 2021, Docker Compose est disponible en version 2 !

Docker Compose V2 est une version majeure de Docker Compose. Il a été complètement réécrit à partir de zéro en Golang (La version 1 est en Python).
Les instructions d'installation de Compose V2 diffèrent de la V1.
La V2 n'est plus un binaire autonome et les scripts d'installation devront être ajustés.

Attention : Certaines commandes sont différentes par rapport à la V1.

L'installation de Docker Compose v2 est plutot simple :

On récupère la version 2.2.0
( derniere actuellement, vous pouvez vérifier sur le GitHub Officiel la dernière version disponible )
curl -L "https://github.com/docker/compose/releases/download/v2.2.0/docker-compose-$(uname -s)-$(uname -m)" -o ./docker-compose

On déplace le binaire dans le dossier plugins de docker :
mv docker-compose /usr/libexec/docker/cli-plugins/docker-compose
Note : Chez moi le chemin est , mais il peut etre différent chez vous, voir Where to get Docker Compose - Linux

On le rend executable :
chmod +x /usr/libexec/docker/cli-plugins/docker-compose

et voila :)


Ensuite, vous pouvez vérifier facilement qu'il est bien installé en indiquant cette commande pour qu'il vous retourne la version actuellement installé :
docker compose version

2021-11-23 13_27_51-Window.png

Voici un script qui le fait en automatique :

Code:
#!/bin/bash
############### DEBUT - A MODIFIER
CHEMIN=/usr/libexec/docker/cli-plugins/docker-compose
VERSION=2.2.0
############### FIN - A MODIFIER

echo "Télécharger la version ${VERSION} de docker compose ? Y/n"

read a

if [[ $a == "Y" || $a == "y" ]]; then
    echo "Lancement du téléchargement ..."
    curl -L "https://github.com/docker/compose/releases/download/v${VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o ./docker-compose
    echo "Déplacement du fichier"
    mv docker-compose ${CHEMIN}
    echo "chmod +x"
    chmod +x ${CHEMIN}
    echo "Validation de l'installation par l'affichage de la version installée :"
    docker compose version
elif [[ $a == "N" || $a == "n" ]]; then
    exit
fi

Penser a modifier /usr/libexec/docker/cli-plugins/docker-compose en fonction de votre installation ;)

2021-11-24 - Mise à jour vers Docker compose 2.2.0
 
Dernière édition:
Haut Bas