linux - para - sudo docker compose command not found
sudo: docker-compose: comando no encontrado (5)
Estoy tratando de ejecutar docker-compose usando sudo.
He instalado tanto docker como docker-compose en Ubuntu 16.01.
Debido a un error mientras intentaba descargar compose usando curl, terminé de instalarlo usando pip.
Docker versión 1.12.0, compilación 8eab29e docker-compose versión 1.8.0, compilación 94f7016
Sin embargo, cuando intento ejecutar docker-compose con sudo, obtengo lo siguiente (usar sudo con docker está bien)
sudo: docker-compose: command not found
Supongo que hay definiciones diferentes de lo que significa ''instalado''. He estado usando docker-compose en la misma computadora que dice que no está instalado.
$ 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
He intentado lo siguiente, pero sigo teniendo el mismo error:
$ chmod +x /home/username/.local/bin/docker-compose
$ chmod +x /home/anton/.local/lib/python2.7/site-packages
Dejaré esto aquí como una posible solución, al menos funcionó para mí y podría ayudar a otros. Bastante seguro de que esto sería una solución de Linux solamente.
Decidí no ir con la instalación de pip y con la versión de github (opción uno en la guía de instalación).
En lugar de colocar el directorio copiado de docker-compose en el comando / usr / local / bin / docker-compose desde el comando curl / github, fui con / usr / bin / docker-compose que es la ubicación del propio Docker y forzará el programa para ejecutar en root. Así que funciona en root y sudo, pero ahora no funcionará sin sudo, por lo que es lo que quiere ejecutar como usuario de todos modos.
En Ubuntu 16.04
Así es como solucioné este problema: Consulte la documentación de Docker Compose
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
Después de ejecutar el comando curl, se colocará la ventana acoplable en el
/ usr / local / bin
que no está en la RUTA Para solucionarlo, cree un enlace simbólico:
-
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Y ahora si lo haces: docker-compose --version
Verás que la ventana acoplable está ahora en el PATH
La salida de dpkg -s ...
demuestra que docker-compose
no está instalado desde un paquete. Sin más información de usted, hay al menos dos posibilidades:
docker-compose simplemente no está instalado en absoluto, y usted necesita instalarlo.
La solución aquí es simple: instalar
docker-compose
.docker-compose se instala en su directorio
$HOME
(u otra ubicación que no esté en$PATH
la raíz).Hay varias soluciones en este caso. Lo más fácil es probablemente reemplazar:
sudo docker-compose ...
Con:
sudo `which docker-compose` ...
Esto llamará a
sudo
con la ruta completa adocker-compose
.Como alternativa, puede instalar
docker-compose
en un directorio de todo el sistema, como/usr/local/bin
.
Si ha intentado realizar la instalación a través de la página oficial de docker-compose, donde necesita descargar el binario utilizando curl:
curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
Entonces no te olvides de agregar un indicador ejecutable al binario:
chmod +x /usr/local/bin/docker-compose
Si docker-compose se instala usando python-pip
sudo apt-get -y install python-pip
sudo pip install docker-compose
intente usar pip show --files docker-compose
para ver dónde está instalado.
Si docker-compose está instalado en la ruta del usuario, intente:
sudo "PATH=$PATH" docker-compose
Como veo en su publicación actualizada, docker-compose está instalado en la ruta del usuario /home/user/.local/bin
y si esta ruta no está en su ruta local $PATH
, intente:
sudo "PATH=$PATH:/home/user/.local/bin" docker-compose
Tengo el mismo problema, resolví el problema:
paso-1: descarga docker-compose usando el siguiente comando.
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
Paso 2: Ejecutar comando
chmod +x /usr/local/bin/docker-compose
Paso 3: Verifique la versión de la ventana acoplable.
docker-compose --version