Я установил docker-compose с помощью команды

sudo apt install docker-compose

Установлен docker-compose версии 1.8.0 и сборка неизвестна

Мне нужна последняя версия docker-compose или хотя бы версия 1.9.0

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

Я проверил сайт докеров и вижу, что они рекомендуют это для установки последней версии '

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 rm / usr / local / bin / docker-compose

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

sudo apt install docker-compose

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

Sam_2207

Ответов: 17

Ответы (17)

Сначала удалите старую версию:

При установке через apt-get

sudo apt-get remove docker-compose

При установке через curl

sudo rm /usr/local/bin/docker-compose

При установке через pip

pip uninstall docker-compose

Затем найдите самую новую версию на странице выпуска на GitHub или сверните API и извлеките версию из ответа с помощью grep или jq (спасибо dragon788, frblи Sabre Hayati за эти улучшения):

# curl + grep
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')

# curl + jq
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)

Наконец, загрузите в ваше любимое место, доступное по $ PATH, и установите разрешения:

DESTINATION=/usr/local/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATION

The easiest way to have a permanent and sustainable solution for the Docker Compose installation and the way to upgrade it, is to just use the package manager pip with:

pip install docker-compose
• 100001 100002 * пакет пакетов docker-compose - он должен отражать (в основном) текущий номер последней выпущенной версии Docker Compose.

Менеджер пакетов - всегда лучшее решение, если дело касается управления установками программного обеспечения! Таким образом, вы просто абстрагируетесь от самостоятельной работы с версиями.

Я пытался установить docker-compose на «Ubuntu 16.04.5 LTS», но после установки он выглядел так:

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

Я получал:

-bash: / usr / local / bin / docker-compose: В доступе отказано

и пока я использовал его с sudo, я получал:

sudo: docker-compose: команда не найдена

Итак, вот шаги, которые я предпринял и решил мою проблему:

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

Most of these solutions are outdated or make you install old version. To install the latest

sudo apt install jq

DOCKER_COMPOSE_VERSION = $ (curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq. Имя -r)

sudo curl -L "https://github.com/docker/compose/releases/download/$ DOCKER_COMPOSE_VERSION / docker-compose - $ (uname -s) - $ (uname -m)" -o / usr / local / bin / docker-compose
sudo chmod + x / usr / local / bin / docker-составить

Если вы попробовали sudo apt-get remove docker-compose и получили E: Не удалось найти пакет docker-compose, попробуйте этот метод:

Эта команда должна возвращать результат, чтобы проверить, что она установлена ​​здесь:

ls -l /usr/local/bin/docker-compose

Remove the old version :

sudo rm -rf docker-compose

Скачать последнюю версию (проверьте официальное репо: docker / compose / Release):

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

(при необходимости заменить 1.24.0)

Finally, apply executable permissions to the binary:

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

Проверить версию:

docker-compose -v

На рабочем столе ubuntu 18.04.2 у меня удален «local» из пути при использовании команды curl для установки пакета, и это работает для меня. См. Ответ Кшитиджа выше.

Вот еще один лайнер для установки последней версии docker-compose с помощью curl и sed.

curl -L "https://github.com/docker/compose/releases/download/`curl -fsSLI -o /dev/null -w %{url_effective} https://github.com/docker/compose/releases/latest | sed 's#.*tag/##g' && echo`/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

После того, как я долго искал способы сделать это, я закончил тем, что использовал jq, и, надеюсь, я смогу расширить его для обработки других репозиториев, помимо Docker-Compose, без особых усилий.

# If you have jq installed this will automatically find the latest release binary for your architecture and download it
curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | jq --arg PLATFORM_ARCH "$(echo `uname -s`-`uname -m`)" -r '.assets[] | select(.name | endswith($PLATFORM_ARCH)).browser_download_url' | xargs sudo curl -L -o /usr/local/bin/docker-compose --url

Если вы установили с помощью pip, для обновления вы можете просто использовать:

 pip install --upgrade docker-compose

или, как явно указывает Марио с pip3:

 pip3 install --upgrade docker-compose

Если у вас есть homebrew, вы также можете установить его через brew

$ brew install docker-compose

Это хороший способ установки в системе Mac OS

Основываясь на ответе @ eric-johnson, в настоящее время я использую это в сценарии:

#!/bin/bash
compose_version=$(curl https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
output='/usr/local/bin/docker-compose'
curl -L https://github.com/docker/compose/releases/download/$compose_version/docker-compose-$(uname -s)-$(uname -m) -o $output
chmod +x $output
echo $(docker-compose --version)

он берет последнюю версию из GitHub api.

Если вышеуказанные методы не работают для вас, обратитесь к этому ответу: https://stackoverflow.com/a/40554985

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

Использование,

$ 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 && sudo chmod +x /usr/local/bin/docker-compose

$ docker-compose -v

используйте это из командной строки: sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$ (uname -s) - $ (uname -m)" -o / usr / local / bin / docker-compose

Запишите последнюю версию релиза

Применить разрешения исполняемого файла к двоичному файлу:

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

Затем тестовая версия:

$ docker-compose --version

В более новой версии Docker Desktop для Mac 3.3.0 вам не нужно устанавливать Docker Compose как отдельный пакет. Docker Compose по умолчанию устанавливается вместе с Docker. Ознакомьтесь с приведенным ниже интерфейсом командной строки:


docker compose version
Docker Compose version 2.0.0-beta.1%

Сделайте это в три этапа. (показано для установок apt-get)

  1. Удалите последнюю. например для установки apt-get

sudo apt-get remove docker-compose

  1. Установить новый (https://docs.docker.com/compose/install/)

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

, а затем

 sudo chmod + x / usr / local / bin / docker-compose
  1. Проверьте вашу версию

docker-compose --version

Simple Solution

sudo cd / usr / local / bin && sudo rm -rf docker-compose
sudo wget https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-linux-x86_64
Судо MV docker-compose-linux-x86_64 docker-compose
Sud chmod + x докер-составить

for the latest version visit https://github.com/docker/compose/releases and replace the latest one with v2.1.1

2022 WebDevInsider