it-swarm.com.de

sudo: docker-compose: Befehl nicht gefunden

Ich versuche, Docker-Compose mit Sudo auszuführen.

Ich habe sowohl Docker als auch Docker-Compose auf Ubuntu 16.01 installiert.

Aufgrund eines Fehlers beim Versuch, compose mit curl herunterzuladen, habe ich es schließlich mit pip installiert.

Docker-Version 1.12.0, Build 8eab29e Docker-Compose-Version 1.8.0, Build 94f7016

Wenn ich versuche, Docker-Compose mit Sudo auszuführen, bekomme ich Folgendes (die Verwendung von Sudo mit Docker ist in Ordnung)

Sudo: docker-compose: command not found

Ich nehme an, es gibt unterschiedliche Definitionen dessen, was "installiert" bedeutet. Ich habe Docker-Compose auf demselben Computer verwendet, der behauptet, dass es nicht installiert ist.

$ 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

Ich habe folgendes versucht - bekomme aber immer noch den gleichen Fehler:

$ chmod +x /home/username/.local/bin/docker-compose
$ chmod +x /home/anton/.local/lib/python2.7/site-packages
26
Magick

Auf Ubuntu 16.04

Ich habe dieses Problem folgendermaßen behoben: Siehe Dokumentation zu Docker Compose

  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

Nachdem Sie den Befehl curl ausgeführt haben, wird docker-compose in den Ordner eingefügt

/ usr/local/bin

welches nicht auf dem PFAD ist Um es zu beheben, erstelle einen symbolischen Link:

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

Und jetzt, wenn Sie dies tun: docker-compose --version

Sie werden sehen, dass Docker-Compose jetzt auf dem Pfad ist

61
pelican

Die Ausgabe von dpkg -s ... zeigt, dass docker-compose nicht aus einem Paket installiert wird. Ohne weitere Informationen von Ihnen gibt es mindestens zwei Möglichkeiten:

  1. docker-compose ist einfach nicht installiert und muss installiert werden.

    Die Lösung hier ist einfach: Installieren Sie docker-compose.

  2. docker-compose ist in Ihrem $HOME-Verzeichnis installiert (oder einem anderen Speicherort, der sich nicht im root-Code von $PATH befindet).

    In diesem Fall gibt es mehrere Lösungen. Am einfachsten ist es wahrscheinlich zu ersetzen:

    Sudo docker-compose ...
    

    Mit:

    Sudo `which docker-compose` ...
    

    Dadurch wird Sudo mit dem vollständigen Pfad zu docker-compose aufgerufen.

    Alternativ können Sie docker-compose in ein systemweites Verzeichnis wie /usr/local/bin installieren.

18
larsks

Wenn Sie die Installation über die offizielle Docker-Compose-Seite versucht haben, wo Sie die Binärdatei mit curl herunterladen müssen:

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

Vergessen Sie nicht, der Binärdatei ein ausführbares Flag hinzuzufügen:

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

Wenn Docker-Compose mit Python-Pip installiert wird

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

versuchen Sie es mit pip show --files docker-compose, um zu sehen, wo es installiert ist.

Wenn Docker-Compose im Benutzerpfad installiert ist, versuchen Sie Folgendes:

Sudo "PATH=$PATH" docker-compose

Wie ich aus Ihrem aktualisierten Beitrag sehe, wird docker-compose im Benutzerpfad /home/user/.local/bin installiert. Wenn dieser Pfad nicht in Ihrem lokalen Pfad $PATH enthalten ist, versuchen Sie Folgendes:

Sudo "PATH=$PATH:/home/user/.local/bin" docker-compose
11
VanagaS

Ich werde das hier als mögliche Lösung belassen, zumindest für mich gearbeitet und vielleicht anderen helfen. Ziemlich sicher, dass dies nur ein Linux-Fix wäre.

Ich entschied mich nicht für die Pip-Installation und für die Github-Version (Option eins in der Installationsanleitung).

Anstatt das kopierte Docker-Compose-Verzeichnis mit dem Befehl curl/github in/usr/local/bin/docker-compose zu platzieren, habe ich mich mit/usr/bin/docker-compose befunden, wo sich Docker selbst befindet in root laufen. Es funktioniert also in root und Sudo, aber jetzt funktioniert es nicht ohne den gegenteiligen Effekt von Sudo, den Sie sowieso als Benutzer ausführen möchten. 

4
envymike

Ich habe das gleiche Problem, ich habe das Problem gelöst: 

Schritt-1: Laden Sie Docker-Compose mit folgendem Befehl herunter.

     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

Schritt-2: Befehl ausführen

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

Schritt 3: Überprüfen Sie die Docker-Compose-Version

     docker-compose --version
3
Mayur Kothari

Oder fügen Sie einfach Ihren binären Pfad in den PFAD ein. Am Ende der Basis:

... 
export PATH=$PATH:/home/user/.local/bin/

speichern Sie die Datei und führen Sie Folgendes aus:

source .bashrc

und der Befehl wird funktionieren.

0
Brivaldo Junior