Last active
April 11, 2022 00:18
-
-
Save roens/33e0f47a714a88871e0495bd60c8b115 to your computer and use it in GitHub Desktop.
A bash function for installing/updating docker-compose
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Add to your ~/.bash_aliases or preferred spot for such functions: | |
docker-compose-install (){ | |
if [ ! "$(type -p jq)" ]; then | |
echo -e "** Fail! This needs jq. Please do one of:\n apt install jq\n port install jq" | |
return 99 | |
fi | |
[ $(type -p docker-compose) ] && \ | |
current_version=$(docker-compose -v | awk '{print $4}') | |
current_version="${current_version:-v0.0.0}" | |
latest_version=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq '.tag_name' --raw-output) | |
if [ "${current_version}" == "${latest_version}" ]; then | |
echo "** But docker-compose is alreaday at the latest release: ${latest_version}" | |
else | |
echo "** Updating docker-compose from ${current_version} to ${latest_version}" | |
curl \ | |
-sL "https://github.com/docker/compose/releases/download/${latest_version}/docker-compose-$(uname -s)-$(uname -m)" \ | |
-o '/tmp/docker-compose' | |
curl \ | |
-sL "https://raw.githubusercontent.com/docker/compose/${latest_version}/contrib/completion/bash/docker-compose" \ | |
-o /tmp/docker-compose.bash | |
sudo chown root:staff /tmp/docker-compose | |
sudo chmod +x /tmp/docker-compose | |
sudo mv /tmp/docker-compose /usr/local/bin/ | |
sudo mv /tmp/docker-compose.bash /etc/bash_completion.d/ | |
fi | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment