Created
April 20, 2020 21:14
-
-
Save Mikado8231/bf207a019373f9e539af4d511ae15e0d to your computer and use it in GitHub Desktop.
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
#!/bin/sh | |
# source https://community.synology.com/enu/forum/1/post/131600 | |
echo "-- START ($(date +%Y%m%d_%H%M%S)) --" | |
#### TO UPDATE BEFORE RUN #### | |
DOCKER_BIN_VERSION=19.03.8 | |
DOCKER_COMPOSE_VERSION=1.25.5 | |
############################## | |
WORKING_DIR=/tmp/docker_update | |
DOCKER_BACKUP_FILENAME=docker_backup_$(date +%Y%m%d_%H%M%S).tar.gz | |
SYNO_DOCKER_SERV_NAME=pkgctl-Docker | |
SYNO_DOCKER_DIR=/var/packages/Docker | |
SYNO_DOCKER_BIN=$SYNO_DOCKER_DIR/target/usr/bin | |
SYNO_DOCKER_JSON=$SYNO_DOCKER_DIR/etc/dockerd.json | |
# Stop Docker service if running | |
synoservicectl --status $SYNO_DOCKER_SERV_NAME | grep running -q && (echo "--Stop Docker service" ; synoservicectl --status $SYNO_DOCKER_SERV_NAME) | |
echo "--Prepare environment $WORKING_DIR" | |
[ !-d $WORKING_DIR ] && mkdir $WORKING_DIR | |
cd $WORKING_DIR | |
rm -f $WORKING_DIR/* | |
# Backup previous data | |
echo "--Backup previous Docker binaries $DOCKER_BACKUP_FILENAME" | |
tar -czf $WORKING_DIR/$DOCKER_BACKUP_FILENAME $SYNO_DOCKER_BIN $SYNO_DOCKER_JSON | |
[ ! -f $WORKING_DIR/$DOCKER_BACKUP_FILENAME ] && ( echo "Backup issue" ; exit 1 ) | |
# Docker bin | |
echo "--Download version binaries $DOCKER_BIN_VERSION" | |
wget https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_BIN_VERSION.tgz -qO - | tar -zxvf - -C $WORKING_DIR | |
[ ! -d $WORKING_DIR/docker ] && ( echo "Download/Untar issue" ; exit 2 ) | |
echo "--Overwrite old Docker binaries" | |
mv $WORKING_DIR/docker/* $SYNO_DOCKER_BIN/ | |
# Docker compose | |
echo "--Download docker-compose" | |
wget https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-Linux-x86_64 -o $SYNO_DOCKER_BIN/docker-compose | |
echo "--Add exec rights to binaries" | |
chmod +x $SYNO_DOCKER_BIN/* | |
echo "--Check log-driver" | |
# content of file /var/packages/Docker/etc/dockerd.json | |
# { | |
# "data-root" : "/var/packages/Docker/target/docker", | |
# "log-driver" : "json-file", | |
# "registry-mirrors" : [], | |
# "group": "administrators" | |
# } | |
grep "json-file" $SYNO_DOCKER_JSON -q || ( echo "KO - Missing log-driver" ; cat <<EOF > /var/packages/Docker/etc/dockerd.json | |
{ | |
"data-root" : "/var/packages/Docker/target/docker", | |
"log-driver" : "json-file", | |
"registry-mirrors" : [], | |
"group": "administrators" | |
} | |
EOF | |
) | |
echo "--Start Docker service" | |
synoservicectl --start $SYNO_DOCKER_SERV_NAME | |
echo "-- END ($(date +%Y%m%d_%H%M%S)) --" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment