Как обновить док-станцию до последней версии

Я установил 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.

Ответы

Ответ 1

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

Если установлено через apt-get

sudo apt-get remove docker-compose

Если установлено через curl

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

Если установлено через пункт

pip uninstall docker-compose

Затем найдите самую новую версию на странице релиза на GitHub или сверните API, если у вас установлен jq (благодаря dragon788 и frbl для этого улучшения):

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

Ответ 2

Самый простой способ получить постоянное и устойчивое решение для установки Docker Compose и способ его обновления - это просто использовать pip менеджера пакетов с:

pip install docker-compose

Я искал хорошее решение для уродливого "как обновить номер до последней версии" -problem, которое появилось после того, как вы прочитали официальные документы - и только иногда находили его - просто взгляните на pip-пакет docker-compose - он должен отражать (в основном) текущий номер последней выпущенной версии Docker Compose.

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

Ответ 3

Основываясь на ответе @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.

Ответ 4

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

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

Ответ 5

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

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

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

Удалить старую версию:

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, если необходимо)

Наконец, примените права доступа к исполняемому файлу:

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

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

docker-compose -v

Ответ 6

Вот еще один способ установки последней версии 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

Ответ 7

используйте это из командной строки: 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

Ответ 8

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

# 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

Ответ 9

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

$ brew install docker-compose

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

Ответ 10

На рабочем столе Ubuntu 18.04.2 у меня удален "local" из пути при использовании команды curl для установки пакета, и он работает для меня. См. Выше ответ Кшития.

Ответ 11

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

 pip install --upgrade docker-compose