sudo: docker-composer: commande introuvable

j'essaie de lancer docker-composer en utilisant sudo.

j'ai docker et docker-composer installés sur Ubuntu 16.01.

en raison d'une erreur en essayant de télécharger composer en utilisant curl, j'ai fini par l'installer en utilisant pip.

Docker version 1.12.0, build 8eab29e docker-composer la version 1.8.0, construire 94f7016

pourtant, quand j'essaie d'exécuter docker-composer avec sudo j'obtiens ce qui suit (utiliser sudo avec docker est très bien)

sudo: docker-compose: command not found

je supposons qu'il existe différentes définitions 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
19
demandé sur Magick 2016-08-04 22:34:28

5 réponses

Sur Ubuntu 16.04

Voici comment j'ai corrigé ce problème: Refer Docker Compose la documentation

  1. 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

  2. sudo chmod +x /usr/local/bin/docker-compose

Après la commande curl , il va mettre docker-composer dans le

/ usr/local / bin

qui n'est pas sur le chemin Pour le réparer, créer une symbolique lien:

  1. sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

et maintenant si vous le faites: docker-composer -- version

vous verrez que docker-composer est maintenant sur le chemin

20
répondu pelican 2018-09-21 16:00:07

La sortie de dpkg -s ... démontre que docker-compose n'est pas installé à partir d'un package. Sans plus d'informations de votre part, il y a au moins deux possibilités:

  1. docker-composer n'est tout simplement pas installé du tout, et vous devez l'installer.

    la solution ici est simple: installer docker-compose.

  2. menu fixe-composer est installé dans votre $HOME répertoire (ou autre emplacement non sur root's $PATH).

    il y a plusieurs solutions dans ce cas. Le plus simple est probablement de remplacer:

    sudo docker-compose ...
    

    Avec:

    sudo `which docker-compose` ...
    

    appel sudo avec le chemin d'accès complet docker-compose.

    vous pouvez aussi installer docker-compose dans un répertoire à l'échelle du système, tel que /usr/local/bin.

18
répondu larsks 2016-08-04 19:49:16

si vous avez essayé l'installation via la page officielle docker-composer, où vous devez télécharger le binaire en utilisant curl:

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

Alors n'oubliez pas d'ajouter un indicateur de fichier exécutable binaire:

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

si docker-composer est installé en utilisant python-pip

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

essayez d'utiliser pip show --files docker-compose voir où il est installé.

si docker-composer est installé dans user path, alors essayez:

sudo "PATH=$PATH" docker-compose

Comme je le vois à partir de votre post mis à jour, docker-composez est installé dans le chemin de l'utilisateur /home/user/.local/bin et si ce chemin n'est pas dans votre chemin d'accès local $PATH, puis essayer:

sudo "PATH=$PATH:/home/user/.local/bin" docker-compose
10
répondu VanagaS 2016-08-05 06:00:22

je vais laisser cela ici comme une solution possible, a travaillé pour moi au moins et pourrait aider les autres. Je suis presque sûr que ce ne serait qu'une solution pour linux.

j'ai décidé de ne pas suivre l'installation pip et de suivre la version github (option 1 sur le guide d'installation).

au lieu de placer le répertoire copié docker-composer dans /usr / local / bin/docker-composer à partir de la commande curl /github, je suis allé avec/usr/bin / docker-composer qui est l'emplacement de Docker lui-même et va forcer le programme à exécuter en root. Donc, il fonctionne en root et sudo mais maintenant ne fonctionnera pas sans sudo donc effet opposé qui est ce que vous voulez l'exécuter en tant qu'utilisateur de toute façon.

4
répondu envymike 2016-12-13 23:55:56

j'ai le même problème , j'ai résolu le problème :

step-1 : Télécharger docker-composer en utilisant la commande suivante.

     1.  sudo su

     2. 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

Étape 2 : Exécutez la commande

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

Étape 3 : Vérifiez docker-composer version

     docker-compose --version
2
répondu Mayur Kothari 2018-05-08 04:29:21