156 votes

Docker est installé mais Docker Compose ne l'est pas ? pourquoi ?

J'ai installé docker sur centos 7. en exécutant les commandes suivantes,

curl -sSL https://get.docker.com/ | sh
systemctl enable docker && systemctl start docker
docker run hello-world

NOTE : helloworld fonctionne correctement et sans problème.

Cependant, lorsque j'essaie d'exécuter docker-compose (docker-compose.yml existe et est valide), il me donne l'erreur sur Centos seulement (la version Windows fonctionne bien pour le fichier docker-compose).

/usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

11 votes

Il est amusant de constater que pour Windows et Mac, tout est chargé et disponible, alors que les utilisateurs de Linux doivent passer par la corvée de la saisie et de l'installation séparées de certains éléments et de la recherche de solutions (ce qui est amusant bien sûr).

0 votes

Si le user en question est un développeur, il ne devrait probablement pas être ennuyé par la saisie de quelques commandes puisqu'il en tape généralement des centaines dans une journée normale.

0 votes

Cette commande a fonctionné pour moi sur ubuntu/arm64 - sudo pip3 -v install docker-compose

336voto

Daniel Stefaniuk Points 1536

Vous devez également installer Docker Compose. Voir le manuel . Voici les commandes que vous devez exécuter

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)"  -o /usr/local/bin/docker-compose
sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

6 votes

En exécutant la deuxième ligne, je reçois une réponse : mv: rename ./docker-compose to /usr/bin/docker-compose: Operation not permitted

4 votes

@kuanb si cela dit "permission not permitted", assurez-vous que vous avez tous les droits sudo.

0 votes

Pour l'instant, la version 1.7.0 est ancienne. D'après docs.docker.com/compose/install La nouvelle version est la 1.11.2. Cela signifie qu'au lieu de curl -L github.com/docker/compose/releases/download/1.7.0/ uname -s - uname -m > ./docker-compose devrait être utilisé curl -L github.com/docker/compose/releases/download/1.11.2/ uname -s - uname -m > ./docker-compose

46voto

Scott Veirs Points 133

J'installe sur un Raspberry Pi 3, avec Raspbian 8. La méthode curl a échoué pour moi (j'ai obtenu un line 1: Not: command not found erreur lors de la demande de docker-compose --version ) et la solution de @sunapi386 semblait un peu dépassée, alors j'ai essayé ceci qui a fonctionné :

Tout d'abord, nettoyez les choses des efforts précédents :

sudo rm /usr/local/bin/docker-compose
sudo pip uninstall docker-compose

Ensuite, suivez ce conseil concerne docker-compose sur Rpi :

sudo apt-get -y install python-pip
sudo pip install docker-compose

Pour moi (le 1er novembre 2017), cela se traduit par la réponse suivante à docker-compose --version :

docker-compose version 1.16.1, build 6d1ac219

6 votes

Votre solution fonctionne parfaitement ! Si vous n'avez pas besoin de la dernière version de docker-compose, vous pouvez également utiliser apt-get install docker-compose . Bien sûr, cela nécessite que vous ayez ajouté le dépôt docker au sources.list de votre apt (l'install script de get.docker.com effectue cela automatiquement pour vous). Cependant, sur mon Raspberry Pi 3 avec Raspian Stretch Lite, cela a donné une version très ancienne : docker-compose version 1.8.0, build unknown . Cette version est si ancienne qu'elle ne prend en charge que la version 2 du format de fichier docker-compose.

0 votes

Génial, cela m'a aidé à obtenir l'erreur docker-comps sur aws. Merci

1 votes

J'ai eu quelques problèmes et j'ai utilisé 'apt purge' et 'pip uninstall' pour docker-compose et ensuite réinstaller à nouveau (je ne suis pas sûr si l'un ou les deux), mais la partie importante de la solution était aussi : pip install --upgrade docker-py

11voto

sunapi386 Points 127

J'installe sur un Raspberry Pi 3, sous Raspbian OS. Le site curl n'a pas donné lieu à une réponse valide. Il est également dit {error: Not Found} J'ai regardé l'URL https://github.com/docker/compose/releases/download/1.11.2/docker-compose-Linux-armv7l et il n'était pas valide. Je suppose qu'il n'y a pas eu de construction.

Ce guide https://github.com/hypriot/arm-compose a fonctionné pour moi.

sudo apt-get update
sudo apt-get install -y apt-transport-https
echo "deb https://packagecloud.io/Hypriot/Schatzkiste/debian/ jessie main" | sudo tee /etc/apt/sources.list.d/hypriot.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F
sudo apt-get update
sudo apt-get install docker-compose

8voto

ASON Points 16

Tout d'abord, veuillez vérifier si docker-compose est installé,

$ docker-compose -v

S'il n'est pas installé, veuillez vous reporter au guide d'installation. https://docs.docker.com/compose/install/ S'il est installé, donnez la permission d'exécuter le binaire.

$ chmod +x /usr/local/bin/docker-compose

Vérifiez si cela fonctionne.

2voto

En me référant aux réponses données ci-dessus (je n'ai pas assez de réputation pour me référer séparément aux solutions individuelles, c'est pourquoi je le fais collectivement à cet endroit), je veux les compléter par quelques suggestions importantes :

  1. docker-compose vous pouvez installer depuis le dépôt (si vous avez ce paquet dans le dépôt, sinon vous pouvez ajouter au système un dépôt avec ce paquet) ou télécharger le binaire avec l'utilisation de curl - totourial sur le site officiel du projet - src : https://docs.docker.com/compose/install /

  2. docker-compose du dépôt est en version 1.8.0 (du moins chez moi). Cette version de docker-compose ne supporte pas les fichiers de configuration en version 3. Elle ne supporte que la version = <2. Sur le site officiel du projet, il est recommandé d'utiliser la configuration du conteneur en version 3 - src : https://docs.docker.com/compose/compose-file / compose-versioning /. De ma propre expérience avec le travail dans le docker je recommande d'utiliser les configurations de conteneurs dans la version 3 - il y a plus d'options de configuration à utiliser que dans les versions <3. Si vous voulez utiliser les configurations de conteneurs dans la version 3, vous devez faire la mise à jour / installer docker-compose à la version d'au moins 1.17 - de préférence la dernière stable. Le site officiel du projet est toturial comment faire ce processus - src : https://docs.docker.com/compose/install/

  3. lorsque vous essayez de supprimer manuellement les anciens binaires de docker-compose, vous pouvez avoir des informations sur le fichier manquant dans le chemin par défaut /usr/local/bin/docker-compose . Dans mon cas, docker-compose était dans le chemin par défaut /usr/bin/docker-compose. Dans ce cas, je vous suggère d'utiliser l'outil find de votre système pour trouver le fichier binaire docker-compose - exemple de syntaxe : sudo find / -name 'docker-compose' . Cela m'a aidé. Grâce à cela, j'ai supprimé l'ancienne version de docker-compose et ajouté la version stable au système - j'utilise l'outil curl pour télécharger le fichier binaire docker-compose, en le plaçant dans le bon chemin et en lui donnant les bonnes permissions - tout ce processus a été décrit dans les posts ci-dessus.

Regards, Adam

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X