Last active
April 25, 2019 20:28
-
-
Save mimizone/f0620e5d2ca1d1ab7b4334e9aeac520f to your computer and use it in GitHub Desktop.
simple backup/upgrade rancher
This file contains 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
#!/bin/bash | |
CONTAINERNAME=rancher-server | |
NEWVERSION=v2.2.0 | |
CURRENTVERSION=`docker inspect ${CONTAINERNAME} | jq --raw-output '.[]."Config"."Image"' | awk -F ':' '{print $2}'` | |
DATE=`date +%Y-%m-%d-%H-%M-%S` | |
function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } | |
if ! version_gt $NEWVERSION $CURRENTVERSION; then | |
echo "No upgrade necessary to ${NEWVERSION}, current version is ${CURRENTVERSION}" | |
exit | |
fi | |
echo Upgrading ${CONTAINERNAME} from ${CURRENTVERSION} to ${NEWVERSION} | |
docker pull rancher/rancher:$NEWVERSION | |
# STOP container | |
docker stop $CONTAINERNAME && docker container rename $CONTAINERNAME $CONTAINERNAME-$CURRENTVERSION-$DATE | |
# BACKUP | |
docker run --volumes-from rancher-data -v $PWD:/backup alpine tar zcvf /backup/rancher-data-backup-$CURRENTVERSION-$DATE.tar.gz /var/lib/rancher | |
# RUN new version | |
docker run -d --volumes-from rancher-data --restart=unless-stopped -p 80:80 -p 443:443 --name $CONTAINERNAME rancher/rancher:$NEWVERSION |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment