web-dev-qa-db-fra.com

Comment mettre à jour docker-compose vers la dernière version

J'ai installé docker-compose en utilisant la commande

Sudo apt install docker-compose

Il a installé la version 1.8.0 de docker-compose et a construit inconnu

J'ai besoin de la dernière version de docker-compose ou au moins d'une version de 1.9.0

Quelqu'un peut-il me faire savoir s'il vous plaît quelle approche je devrais prendre pour le mettre à niveau ou pour désinstaller et réinstaller la dernière version.

J'ai consulté le site Web de docker et je peux voir qu'ils le recommandent pour installer la dernière version. '

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

Mais avant cela, je dois désinstaller la version actuelle, ce qui peut être fait en utilisant la commande

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

mais cela ne peut être utilisé que lorsque l'installation a été effectuée avec curl. Je ne suis pas sûr si l'installation a été faite en boucle comme je l'ai utilisé

Sudo apt install docker-compose

Faites-moi savoir ce que je dois faire maintenant pour désinstaller et réinstaller docker-compose.

15
Sambhav

Si vous souhaitez suivre les instructions du site Docker , vous devez supprimer le docker-compose existant avec

Sudo apt-get remove docker-compose

puis recherchez la version la plus récente sur la page des versions de GitHub ou en curling l’API si vous avez installé jq (grâce à dragon788 et frbl pour cette amélioration):

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

Ensuite, téléchargez et modifiez les autorisations sur votre emplacement favori accessible par $ 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 +x $DESTINATION
20
Eric M. Johnson

Basé sur la réponse de @ eric-johnson, je l'utilise actuellement dans un script:

#!/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)

il récupère la dernière version de l'API GitHub.

8
frbl

Si les méthodes ci-dessus ne fonctionnent pas, référez-vous à cette réponse: 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
4
Kshitij

Voici un autre exemple pour installer la dernière version de docker-compose en utilisant curl et 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
1
Jakob Eriksson

Après avoir beaucoup réfléchi aux moyens de réaliser cela, j'ai fini par utiliser jq, et j'espère pouvoir l'étendre pour gérer d'autres opérations de restauration au-delà de Docker-Compose sans trop de travail.

# 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
0
dragon788

Si vous avez un homebrew, vous pouvez aussi installer via brew

$ brew install docker-compose

C’est un bon moyen d’installer sur un système Mac OS

0
Kristian Mandrup

utilisez ceci à partir de la ligne de commande: 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

Notez la dernière version

Appliquez les autorisations exécutables au binaire:

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

Puis testez la version:

$ docker-compose --version
0
Md. Tanvir Rahaman