Docker compose permet de définir et exécuter de multiple conteneurs docker.
La commande docker compose
va chercher un fichier docker-compose.yml
qui décrit des objets docker (principalement des containers) et leur configuration :
etc.
Cela permet de décrire un environnement, et de toucher à ce qu'on appelle l'infrastructure as code.
Pour plus d'information, consulter la documentation officielle (en)
C'était auparavant une application autonome. Elle ne s'installe plus de la même façon et on n'utilise plus la commande :
docker-compose
mais
docker compose
Certaines documentations anciennes sont donc à ajuster.
C'est aussi le cas de cette page qui est aujourd'hui en grande partie obsolète.
apt install docker-compose
Reportez-vous à l'installation sur la page docker
Cette solution installe le plug-in docker-compose-plugin à docker qui ajoute la sous-commande compose à la commande docker, aussi les appels se font par
docker compose
sans le tiret entre les 2 mots.
Comme la plupart des logiciels, la version obtenue par les dépôts officielles peut-être un peu ancienne
Docker-compose tient dans un fichier binaire, il est donc facile de passer à la dernière version ou à une version spécifique.
Tout d'abord, si vous aviez installé une précédente version, supprimez-la, par exemple si version des dépôts officiels :
sudo apt remove docker-compose
Puis télécharger la version que vous souhaitez à partir de https://github.com/docker/compose/releases par exemple, pour la v2.2.3 : https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64
puis déplacer le fichier dans :
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
puis le rendre exécutable :
sudo chmod +x /usr/local/bin/docker-compose
Vérifier que docker-compose s'appelle correctement :
docker-compose --version # qui doit retourné une ligne du type : Docker Compose version v2.2.3
Ces commandes toutes en un pour la mise à jour sur un serveur donne 1) :
wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 && sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose && docker-compose --version
Si un docker-compose retourne l'erreur :
1 error occurred: * error listing credentials - err: exec: "docker-credential-secretservice": executable file not found in $PATH
dans le fichier ~/.docker/config.json, modifier le mot-clé credsStore par credStore2)
Contributeurs :