linux - 须藤 : docker-compose: command not found

标签 linux ubuntu docker docker-compose

我正在尝试使用 sudo 运行 docker-compose。

我在 Ubuntu 16.01 上安装了 docker 和 docker-compose。

由于尝试使用 curl 下载 compose 时出错,我最终使用 pip 安装它。

Docker 版本 1.12.0,构建 8eab29e docker-compose 版本 1.8.0,构建 94f7016

然而,当我尝试使用 sudo 运行 docker-compose 时,我得到以下信息(使用 sudo 和 docker 很好)

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/username/.local/lib/python2.7/site-packages

最佳答案

在 Ubuntu 16.04 上

以下是我解决此问题的方法:引用 Docker Compose 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

执行 curl 命令后,它会将 docker-compose 放入

/usr/local/bin

不在 PATH 上。 要修复它,请创建一个符号链接(symbolic link):

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

现在如果你这样做: docker-compose --version

您会看到 docker-compose 现在位于 PATH

关于linux - 须藤 : docker-compose: command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38775954/

相关文章:

linux - 为什么 sh 找不到绑定(bind)安装在 docker 容器中的可执行文件

php - 在 nginx vps 主机上托管具有多个子域的 Laravel 应用程序

docker - Docker 中的小写图像名称

ios - Azure Web App - 当您选择运行时堆栈作为 Node.js 时,为什么它只允许您选择 Linux 作为操作系统?

c++ - 指针/动态内存分配函数错误(Xcode 到 Linux)

ubuntu - 如何在一个UDP数据包中发送大块数据?

macos - Mac上的最新docker 17.12.0-ce-mac46(21698),hypervisor文件系统为只读

mongodb - 无法从 docker 容器连接主机上的 mongodb

json - jq查询格式csv导出

c++ - 无法使用 istream 和 ostream 指针跨 Linux 管道写入