sudo: docker-composer: command not found
Je suis en train de lancer docker-composer à l'aide de sudo.
J'ai à la fois le panneau et le panneau-composer installé sur Ubuntu 16.01.
En raison d'une erreur lors de la tentative de téléchargement de composer à l'aide de curl, j'ai fini de l'installer à l'aide de pip.
Docker version 1.12.0, construire 8eab29e
docker-composition de la version 1.8.0, construire 94f7016
Pourtant, quand j'essaie d'exécuter docker-composer avec sudo-je obtenir la suivante (en utilisant sudo avec docker est très bien)
sudo: docker-compose: command not found
Je suppose qu'il y a des définitions différentes de ce que "installé". J'ai été en utilisant le panneau-composer sur le même ordinateur qui prétend qu'il n'est pas installé.
$ dpkg -s docker-compose
dpkg-query: package 'docker-compose' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
$ whereis docker-compose
docker-compose: /home/user/.local/bin/docker-compose
$ pip show --files docker-compose
---
Metadata-Version: 2.0
Name: docker-compose
Version: 1.8.0
Summary: Multi-container orchestration for Docker
Home-page: https://www.docker.com/
Author: Docker, Inc.
Author-email: UNKNOWN
Installer: pip
License: Apache License 2.0
Location: /home/anton/.local/lib/python2.7/site-packages
Requires: six, jsonschema, enum34, cached-property, websocket-client, docker-py, requests, docopt, dockerpty, PyYAML, texttable
Classifiers:
Development Status :: 5 - Production/Stable
Environment :: Console
Intended Audience :: Developers
License :: OSI Approved :: Apache Software License
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.4
Files:
../../../bin/docker-compose
compose/GITSHA
compose/__init__.py
compose/__init__.pyc
compose/__main__.py
compose/__main__.pyc
compose/bundle.py
compose/bundle.pyc
compose/cli/__init__.py
compose/cli/__init__.pyc
compose/cli/colors.py
compose/cli/colors.pyc
compose/cli/command.py
compose/cli/command.pyc
compose/cli/docker_client.py
compose/cli/docker_client.pyc
compose/cli/docopt_command.py
compose/cli/docopt_command.pyc
compose/cli/errors.py
compose/cli/errors.pyc
compose/cli/formatter.py
compose/cli/formatter.pyc
compose/cli/log_printer.py
compose/cli/log_printer.pyc
compose/cli/main.py
compose/cli/main.pyc
compose/cli/signals.py
compose/cli/signals.pyc
compose/cli/utils.py
compose/cli/utils.pyc
compose/cli/verbose_proxy.py
compose/cli/verbose_proxy.pyc
compose/config/__init__.py
compose/config/__init__.pyc
compose/config/config.py
compose/config/config.pyc
compose/config/config_schema_v1.json
compose/config/config_schema_v2.0.json
compose/config/environment.py
compose/config/environment.pyc
compose/config/errors.py
compose/config/errors.pyc
compose/config/interpolation.py
compose/config/interpolation.pyc
compose/config/serialize.py
compose/config/serialize.pyc
compose/config/sort_services.py
compose/config/sort_services.pyc
compose/config/types.py
compose/config/types.pyc
compose/config/validation.py
compose/config/validation.pyc
compose/const.py
compose/const.pyc
compose/container.py
compose/container.pyc
compose/errors.py
compose/errors.pyc
compose/network.py
compose/network.pyc
compose/parallel.py
compose/parallel.pyc
compose/progress_stream.py
compose/progress_stream.pyc
compose/project.py
compose/project.pyc
compose/service.py
compose/service.pyc
compose/state.py
compose/state.pyc
compose/utils.py
compose/utils.pyc
compose/volume.py
compose/volume.pyc
docker_compose-1.8.0.dist-info/DESCRIPTION.rst
docker_compose-1.8.0.dist-info/INSTALLER
docker_compose-1.8.0.dist-info/METADATA
docker_compose-1.8.0.dist-info/RECORD
docker_compose-1.8.0.dist-info/WHEEL
docker_compose-1.8.0.dist-info/entry_points.txt
docker_compose-1.8.0.dist-info/metadata.json
docker_compose-1.8.0.dist-info/pbr.json
docker_compose-1.8.0.dist-info/top_level.txt
Entry-points:
[console_scripts]
docker-compose=compose.cli.main:main
J'ai essayé les suivantes - mais toujours la même erreur:
$ chmod +x /home/username/.local/bin/docker-compose
$ chmod +x /home/anton/.local/lib/python2.7/site-packages
docker-compose
installé? Avez-vous l'installer via un package (dans ce cas, dpkg -s docker-compose
serait de vérifier), ou avez-vous l'installer via un autre mécanisme?mise à jour
La même erreur, la commande n'est pas trouvée? Avez-vous essayé de
sudo /home/user/.local/bin/docker-compose ...
?Comme je vois, docker-composer est installé dans le chemin d'accès local qui ne sera pas accessible à utiliser sudo
sudo "PATH=$PATH" docker-compose
si /home/utilisateur/.local/bin est déjà dans votre chemin d'accès de l'utilisateur, sinon utiliser sudo "PATH=$PATH:/home/user/.local/bin" docker-compose
. (mise à jour de la réponse)OriginalL'auteur Magick | 2016-08-04
Vous devez vous connecter pour publier un commentaire.
Sur Ubuntu 16.04
Voici comment j'ai résolu ce problème: se Référer Docker Composer de la documentation
sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Après la commande curl , il va mettre docker-composer dans le
qui n'est pas sur le CHEMIN
Pour le fixer, créez un lien symbolique:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Et maintenant, si vous ne:
docker-composer --version
Vous verrez que docker-composer est maintenant sur le CHEMIN
Dû ajouter
sudo
pour la création de lien symboliqueMise à jour de ma réponse à inclure
sudo
merci @y2k-shubhamOriginalL'auteur pelican
La sortie de
dpkg -s ...
démontre quedocker-compose
n'est pas installé à partir d'un package. Sans plus d'informations auprès de vous il y a au moins deux possibilités:docker-composer, ce n'est pas du tout installé, et vous devez l'installer.
La solution est simple: installer
docker-compose
.docker-composer est installé dans votre
$HOME
répertoire (ou un autre endroit qui n'est pas sur la racine du$PATH
).Il y a plusieurs solution dans ce cas. Le plus simple est probablement de remplacer:
Avec:
Cela appel
sudo
avec le chemin d'accès complet àdocker-compose
.Vous pouvez également installer
docker-compose
dans un système à l'échelle de répertoire, comme/usr/local/bin
.which docker-compose
. . . 'Fonctionne très bien avec le dos de la tic, ne parvient pas à autre chose...OriginalL'auteur larsks
Si vous avez essayé d'installer via l'officiel de docker-composition de la page, où vous devez télécharger le binaire à l'aide de curl:
Alors n'oubliez pas d'ajouter un indicateur de fichier exécutable binaire:
Si docker-composer est installé à l'aide de python-pip
essayez d'utiliser
pip show --files docker-compose
pour voir où il est installé.Si docker-composer est installé dans le chemin d'accès de l'utilisateur, puis essayez:
Que je vois de mise à jour de votre post, docker-composer est installé dans le chemin d'accès utilisateur
/home/user/.local/bin
et si ce chemin n'est pas dans votre chemin d'accès local$PATH
, essayez:J'ai utilisé du pep à installer composer.
Pour info, il est OK pour
pip install docker-compose
sans sudo - ce sera juste installer pour votre utilisateur local sous$HOME/.local/bin
- par la suite, juste de mettre à jour votre $PATH .bashrc/.zshrc/etc inclure:export PATH=$HOME/.local/bin:$PATH
OriginalL'auteur VanagaS
Je vais quitter ce ici comme une solution possible, qui a travaillé pour moi, au moins, et peut aider les autres. Assez sûr que ce serait un linux uniquement à fixer.
J'ai décidé de ne pas aller avec le pip installer et aller avec la version github (option un sur le guide d'installation).
Au lieu de placer la copie d'un docker-composer le répertoire dans /usr/local/bin/docker-composer à partir de la boucle/github commande, je suis allé avec /usr/bin/docker-composer qui est l'emplacement du Panneau lui-même et de forcer le programme à exécuter en root. De sorte qu'il fonctionne dans la racine et sudo mais maintenant ne fonctionne pas sans sudo, donc effet inverse qui est ce que vous voulez l'exécuter en tant qu'utilisateur, de toute façon.
ln -s /usr/bin/docker-compose /usr/local/bin/docker-compose
Je pense que tu voulais dire l'inverse:
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
OriginalL'auteur envymike
J'ai le même problème , j'ai résolu le problème :
étape-1 : téléchargez docker-composer à l'aide de commande suivante.
Étape 2 : Exécuter la commande
Étape 3 : Vérifiez docker-composer version
OriginalL'auteur Mayur Kothari