Docker-compose не может открыть себя

Docker-compose не может открыть себя Хостинг

Выпуск

Похоже, у меня та же проблема, что и у этого docker-compose-usr-local-bin-docker-compose-line-1-not-command-not-found
но когда я посмотрел на свой файл «/usr/local/bin/docker-compose», он не был пуст. Также, когда я пытаюсь установить pip, он говорит: «Требование уже выполнено: docker-compose in /usr/lib/python3/dist-packages (1.27.4)». Это заставило меня подумать, что это что-то другое.

Я использую 64-битный сервер Ubuntu 21.10 на RPI 4 с 4 гигабайтами памяти и USB-накопителем на 250 гигабайт. Я загружаю USB. Я использовал Raspberry Pi Imager v1.6.2 для прошивки накопителя.
Uname -r — это «5.13.0-1009-raspi»

.

Я могу запустить «sudo docker run hello-world:latest» без ошибок.

Для ясности, моя точная ошибка:

 ubuntu@ubuntu:~$ docker-compose --version
/usr/local/bin/docker-compose: line 1: Not: command not found
ubuntu@ubuntu:~$ 

Редактировать:
Если мое предположение верно в моем ответе, то это может быть больше связано с 64-битной рукой, чем с Ubuntu. На всякий случай я также обновил спецификации выше. Я добавил, что это 64-битная Ubuntu.

Решение

Я нашел другое «Как»
ДОКЕР НА UBUNTU RASPBERRY PI 4

Насколько я помню, очень похоже на другие «Как».
Был такой комментарий.

Docker does not have a release for Docker-Compose for arm64 yet; however, I have a shell script which will allow us to download a compatible Docker-Compose container with arm64 from my GitHub.

У него был один для 1.28 и один для «последнего» Я использовал последний

sudo curl -L --fail https://github.com/AppTower/docker-compose/releases/download/latest/run.sh -o /usr/local/bin/docker-compose

Затем, когда я попробовал docker-compose —version, я получил следующее:

 ubuntu@ubuntu:~$ docker-compose --version
Unable to find image 'apptower/docker-compose:latest' locally
latest: Pulling from apptower/docker-compose
d2f70382dc9a: Pull complete
3edfa0ca360e: Pull complete
e8fa2c4aadc9: Pull complete
724e91a62418: Pull complete
Digest: sha256:3c6c36c09554b7be4faeb102758f76cb149d703865290a719f6a541ce78851d8
Status: Downloaded newer image for apptower/docker-compose:latest
docker-compose version 1.29.2, build 5becea4c
ubuntu@ubuntu:~$ 

Подводя итог, я хотел бы документировать для других в той же лодке, но я не уверен точно, что именно это исправило. Только то, что я смог увидеть версию. Теперь вернемся к проекту, для которого мне нужен докер. 🙂

Ответил — Пол

Docker — отличный способ управлять различными процессами приложений в различных средах с помощью контейнеров. Хотя контейнеры в некотором роде похожи на виртуальные машины, они более легкие и ресурсоемкие.

Docker Compose

это инструмент, позволяющий запускать сложные приложения, включающие несколько работающих вместе контейнеров, основанных на наборе правил, определенных в файле YAML
.

См. также: Как установить docker и docker-compose на Raspberry Pi
.

Команда не найдена»?

«docker-compose: command not found» просто указывает, что система не может найти  docker-compose
исполняемый файл в расположении по умолчанию, обычно  /usr/bin
или /usr/local/bin
. Это похоже на большинство других ошибок «команда не найдена», включая  «пип: команда не найдена»
conda: команда не найдена
или  «команда apt-get не найдена»
.

Читайте также:  Гарантия подлинности: подпишите свой репозиторий в Debian 10 сегодня
Docker-compose не может открыть себя

Есть несколько распространенных причин, которые могут привести к появлению этого сообщения об ошибке:

  • Docker Compose v1 в настоящее время не установлен
  • путь docker-compose не включен в PATH
    переменная окружения

Пока docker-compose
является частью самого Docker Engine, до недавнего времени он даже не считался включенным в Docker. Вам нужно установить его отдельно после установки двигателя. Согласно документации, существует две разные версии Docker Compose: v1 и v2.

В Docker Compose v1, docker-compose
это команда, отвечающая за управление почти всем.

Начиная с Docker Compose v2, Docker перешел к использованию  compose
Команда плагина CLI и отличается от оригинала docker-compose
.

Вообще говоря, любые команды, написанные для Docker Compose v1, можно преобразовать в v2, удалив дефис из docker-compose
призывает стать  docker compose
. Полную информацию о совместимости см. в  официальной документации Docker по совместимости команд .
между новыми  compose
и старый  docker-compose
.

Docker-compose не может открыть себя

Переустановка Docker Compose из исходников

Docker Compose упакован в один исполняемый двоичный файл. Вы можете установить последнюю версию Docker Compose, загрузив ее непосредственно из репозитория Docker Github. Последняя версия Docker Compose указана на странице выпуска .
.

  • Сначала нужно скачать docker-compose
    двоичный файл и поместите его в /usr/local/bin/
    выполнив следующую команду. Не забудьте заменить 1.24.0
    номер версии до подходящего значения в соответствии с страницей выпуска Docker Compose
    . Эта команда должна быть запущена с привилегиями root, чтобы иметь возможность записи в /usr
    каталог.
  sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose    
  • После этого вы должны отдать docker-compose
    бинарное исполняемое разрешение
  sudo chmod +x /usr/local/bin/docker-compose  
  • Наконец, подтвердите установку и проверьте номер версии Docker Compose, выполнив следующую команду:
 

Каталог Docker-compose не указан в PATH

Если родительский каталог docker-compose
отсутствует в PATH
, ОС не может интерпретировать команду и выполнять соответствующие бинарные вызовы.

   

Приведенная выше команда добавляет export PATH="$PATH:/usr/local/bin"
на дно ~/.bashrc
, который добавляет /usr/local/bin
до PATH
каждый раз, когда вы запускаете сеанс оболочки.

Кроме того, вы можете создать символическую ссылку в /usr/bin
, который был включен в PATH
по умолчанию для достижения того же результата.

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

Теперь вы можете подтвердить docker-compose
отлично работает при запуске  docker-compose --version
, вы должны увидеть номер версии в терминале.

Мы надеемся, что приведенная выше информация помогла вам узнать немного больше о docker-compose: команда не найдена
ошибка. Вы можете ознакомиться с нашими руководствами по Docker, такими как Как исправить Docker: для «сборки» требуется 1 аргумент
Ошибка «LookupError: unknown encoding: cp65001» в Docker
и  регион. Ошибка: неподдерживаемая локаль в Docker
.

Читайте также:  Is it possible to have root access in a shared hosting plan? - Quora

Если вы заметили ошибку в статье, пожалуйста, исправьте нас, используя раздел комментариев ниже.

 mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose 

И проверена успешная установка с помощью:

 $ docker compose version
Docker Compose version v2.2.3 
 $ docker-compose up -d
WARNING:root:could not open file '/etc/apt/sources.list.d/mongodb-org-5.0.list'
Command 'docker-compose' not found, but can be installed with:
snap install docker # version 20.10.11, or
apt install docker-compose # version 1.25.0-1
See 'snap info docker' for additional versions. 
 export PATH=/usr/bin:$PATH
export DOCKER_HOST=unix:///run/user/1007/docker.sock 

Как заставить Docker Compose распознавать правильный docker.sock
файл?

Решение 1

Это связано с тем, что на Raspberry Pi часть URL-адреса команды приводит к

 https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-armv7l 

Просмотр последней стабильной версии на https://github.com/docker/compose/releases/tag/1.24.1
вы можете видеть, что нет загрузки для armv7l
архитектура, поэтому файл пустой, потому что нечего скачивать.

Обновлю ответ, как только разберусь, как установить docker-compose
на Распиан.

Через apt-get
. Примечание. В настоящее время (8 ноября 2019 г.) устанавливается не последняя доступная версия 1.21.

 sudo apt-get install docker-compose 

Через pip3
. ( Устанавливает последнюю)

 sudo apt-get install python3-pip
sudo pip3 install docker-compose 

Затем перезагрузите систему с помощью

 sudo shutdown -r 

ОБНОВЛЕНИЕ

 curl -L "https://github.com/docker/compose/releases/download/$(curl https://github.com/docker/compose/releases | grep -m1 '<a href="/docker/compose/releases/download/' | grep -o 'v[0-9:].[0-9].[0-9]')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

Немного неаккуратно, но работает. Если у вас есть более элегантный способ, чем мой, отправьте его мне в комментариях, и я обновлю свой ответ.

Просто нужно установить права доступа к файлу:

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

Используйте file
команда, чтобы подтвердить, что вы вытащили правильную арку для вашей системы.

Интро

Хотя docker-compose
можно установить из репо согласно принятому ответу apt-cache show docker-compose
показывает, что по состоянию на 20211201 год версия репо — только v1.25; примерно на 2 года отстает от текущей версии v2.1.1. Чтобы воспользоваться более современными версиями файлов докеров, мне нужно было заставить работать загрузку Github.

Длинный ответ

Я выполнил приведенную ниже команду из документации Docker-Compose и заменил версию «2.1.1» на «1.29.1» в соответствии с руководством Docker:

Чтобы установить другую версию Compose, замените 1.29.2 на
версия Compose, которую вы хотите использовать.

 sudo curl -L "https://github.com/docker/compose/releases/download/2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

Полученная загрузка составила 9 КБ для двоичного файла размером 23 МБ. Очевидно, что ссылка была фиктивной. Поэтому я пошел в корень адреса, используемого в команде «https://github.com/docker/compose/releases», и щелкнул правой кнопкой мыши на той версии Docker-Compose, которую я хотел, и выбрал» Скопировать адрес ссылки

Это показало, что ссылка, которую Докер говорил людям использовать, не имеет » v
» предшествует номеру версии в https://
адресная часть команды.

Читайте также:  Как завести корпоративную почту на своём домене | Блог UniSender

Решение

Предисловие а « v
» перед номером версии, который вы хотите в ссылке, как показано ниже, и команда выполняется успешно:

 sudo curl -L "https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

Кстати, я тоже скачивал docker-compose
для Raspberry Pi с использованием двоичного файла aarch64 для Ubuntu 20.04 LTS. Однако пропавшие без вести» v
«исправление для неработающего адреса загрузки должно работать на любой платформе.

Комментарии

Я пытаюсь установить docker-compose на свой компьютер (Ubuntu), после нескольких неудачных попыток с помощью curl, wget и apt я решил скачать его каталог из репозитория и переместить его в usr/local/bin/ докер-составить.

Однако я продолжаю получать сообщение об ошибке Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

Я пробовал несколько подходов:
— переустановка
— изменение прав доступа к файлам
— установка с помощью wget, curl и apt не работает.

спросил 12 апр 2020 в 6:08

David Essien's user avatar

 curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
chmod +x ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose
docker-compose run test 

ответил 6 января 2021 в 23:37

Victor Liu's user avatar

Виктор Лю

1 серебряный значок
3 бронзовых знака

Существует выпуск от 2015 года на github
по той же проблеме. Судя по этой проблеме, кажется, что способ ее решения — это установить ее точно так же, как официальная документация
говорит:

 sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose 

(Пожалуйста, посмотрите в документы
для текущего номера версии)

То же самое для самого докера, используйте официальную документацию по установке
а не пакет, предоставленный Ubuntu, он обычно устарел.

ответил 12 апр 2020 в 8:20

pLumo's user avatar

2 золотых значка
57 серебряных значков
87 бронзовых знаков

Эта проблема продолжает существовать, по крайней мере, в Ubuntu 18.04. Я установил docker-compose с помощью curl, и он отлично работает, но через некоторое время я не знаю, как модифицируется исполняемый файл (я проверял его, сравнивая md5sum /usr/local/bin/docker-compose
только после загрузки и после того, как это не удалось, и они были разными).

Я установил неизменяемый бит исполняемого файла с помощью chattr:

 chattr +i /usr/local/bin/docker-compose 

и на данный момент, похоже, это работает.

Kulfy's user avatar

26 золотых значков
64 серебряных знака
103 бронзовых знака

ответил 5 июн 2020 в 20:22

Tomas F. Pena's user avatar

Оцените статью
Хостинги