Как обновить док-станцию до последней версии
Я установил 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