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.
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
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.
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
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
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
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
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
Appliquez les autorisations exécutables au binaire:
Sudo chmod +x /usr/local/bin/docker-compose
Puis testez la version:
$ docker-compose --version