web-dev-qa-db-ja.com

sudo:docker-compose:コマンドが見つかりません

Sudoを使用してdocker-composeを実行しようとしています。

Ubuntu 16.01にdockerとdocker-composeの両方をインストールしています。

Curlを使用して作曲をダウンロードしようとしたときにエラーが発生したため、私はpipを使用してインストールすることになりました。

Dockerバージョン1.12.0、ビルド8eab29e docker-composeバージョン1.8.0、ビルド94f7016

それでも、Sudoでdocker-composeを実行しようとすると、次のようになります(dockerでSudoを使用しても問題ありません)

Sudo: docker-compose: command not found

「インストール済み」の意味にはさまざまな定義があると思います。私は、それがインストールされていないと主張する同じコンピューターでdocker-composeを使用しています。

$ 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

私は次のことを試しました-それでも同じエラーが発生します:

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

Ubuntu 16.04で

この問題を修正した方法は次のとおりです。 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

Curlコマンドを実行すると、docker-composeが

/ usr/local/bin

pATH上にありませんこれを修正するには、シンボリックリンクを作成します。

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

そして今あなたがするなら:docker-compose --version

Docker-composeがPATH上にあることがわかります。

61
pelican

dpkg -s ...の出力は、docker-composeがパッケージからインストールされていないことを示しています。あなたからの情報がなければ、少なくとも2つの可能性があります。

  1. docker-composeはまったくインストールされていないため、インストールする必要があります。

    ここでの解決策は簡単です:docker-composeをインストールします。

  2. docker-composeは$HOMEディレクトリ(またはルートの$PATH以外の場所)にインストールされます。

    この場合、いくつかの解決策があります。最も簡単な方法はおそらく交換することです。

    Sudo docker-compose ...
    

    と:

    Sudo `which docker-compose` ...
    

    これは、docker-composeへのフルパスでSudoを呼び出します。

    または、docker-composeなどのシステム全体のディレクトリに/usr/local/binをインストールすることもできます。

18
larsks

公式のdocker-composeページからインストールしようとした場合、curlを使用してバイナリをダウンロードする必要があります。

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

次に、実行可能フラグをバイナリに追加することを忘れないでください。

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

Python-pipを使用してdocker-composeがインストールされている場合

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

pip show --files docker-composeを使用して、インストール先を確認してください。

Docker-composeがユーザーパスにインストールされている場合は、次を試してください。

Sudo "PATH=$PATH" docker-compose

更新された投稿からわかるように、docker-composeはユーザーパス/home/user/.local/binにインストールされ、このパスがローカルパス$PATHにない場合は、次を試してください。

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

私はこれを可能な修正としてここに残し、少なくとも私のために働いて、他の人を助けるかもしれません。これがLinuxのみの修正であると確信しています。

Pipのインストールではなく、githubバージョン(インストールガイドのオプション1)を使用することにしました。

コピーしたdocker-composeディレクトリをcurl/githubコマンドから/ usr/local/bin/docker-composeに配置する代わりに、Docker自体の場所である/ usr/bin/docker-composeを使用してプログラムを強制しますルートで実行します。そのため、ルートとSudoで機能しますが、Sudoなしでは機能しませんので、逆の効果があります。

4
envymike

私は同じ問題を抱えています、私は問題を解決しました:

手順1:次のコマンドを使用してdocker-composeをダウンロードします。

     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

ステップ2:コマンドの実行

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

ステップ3:docker-composeバージョンの確認

     docker-compose --version
4
Mayur Kothari

または、単にバイナリパスをPATHに追加します。 bashrcの最後:

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

ファイルを保存して実行します:

source .bashrc

コマンドが機能します。

0
Brivaldo Junior