From 51ff069f05695186cc1cd3146853b5964e20aba3 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Sat, 5 Jan 2019 19:50:38 +0100 Subject: [PATCH] #15 Improve image update script --- run/scripts/update | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/run/scripts/update b/run/scripts/update index 1d5d321..179d180 100755 --- a/run/scripts/update +++ b/run/scripts/update @@ -1,19 +1,28 @@ #!/bin/bash if [[ -n ${PHP_VERSION} ]]; then - IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION}) echo "Updating the image ..." STATUS=$(docker pull registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION}) if [[ "$STATUS" == *"Status: Image is up to date"* ]]; then echo "Already up to date" else echo "Image updated" + NEWIMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1) while true; do - ID=$(docker container ls -q -f ancestor=${IMAGEID}) - if [[ -n ${ID} ]]; then - echo "Removing outdated container ..." - docker stop ${ID} - docker rm ${ID} + IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION} | grep --invert-match ${NEWIMAGEID}) + if [[ -n ${IMAGEID} ]]; then + while true; do + ID=$(docker container ls -q -f ancestor=${IMAGEID}) + if [[ -n ${ID} ]]; then + echo "Removing outdated container ..." + docker stop ${ID} + docker rm ${ID} + else + break + fi + done + echo "Removing outdated image ..." + docker rmi ${IMAGEID} else break fi -- GitLab