Apportez votre aide…
Docker-Compose
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 :
- nom d'une ou plusieurs images docker (éventuellement à construire et) à lancer
- variables d'environnement
- utilisateurs
- volumes (espaces de stockages persistés et points de montage)
- réseaux docker
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.
Installation
Depuis les dépôts officiels d'Ubuntu (conseillé)
apt install docker-compose
Depuis le dépôt docker (conseillé pour avoir une version plus récente)
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.
Avec le binaire (préférer la solution précédente)
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
Sous bionic, la version de docker depuis les dépôt officiels est, en mars 2022, la v19.03.13 qui est compatible avec docker-compose v2
Problèmes
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)
Voir aussi
Contributeurs :