From 209ef571234f1734d395c668d9ba29adac81b5a7 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Fri, 27 Dec 2019 12:15:21 +0100 Subject: [PATCH] Fix update scripts to remove old containers --- run/scripts/update | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/run/scripts/update b/run/scripts/update index 1befa80..8ec773f 100755 --- a/run/scripts/update +++ b/run/scripts/update @@ -1,37 +1,36 @@ #!/bin/bash function removecontainer { - if [[ "$1" == "selective" ]]; then - IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/$2 | grep -v ${NEWIMAGEID}) - else - IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/$2) - fi - if [[ -n ${IMAGEID} ]]; then - while true; do - ID=$(docker container ls --all -q -f ancestor=${IMAGEID}) - if [[ -n ${ID} ]]; then - echo "Removing outdated container ..." - docker kill ${ID} >/dev/null - docker rm ${ID} >/dev/null - else - break - fi - done - if [[ "$1" == "selective" ]]; then - echo "Removing outdated image ..." - docker rmi ${IMAGEID} >/dev/null + while true; do + ID=$(docker container ls --all -q -f ancestor=$1 | head -1) + if [[ -n ${ID} ]]; then + echo "Removing outdated container ..." + docker kill ${ID} >/dev/null + docker rm ${ID} >/dev/null + else + break fi + done + if [[ "$2" == "rmi" ]]; then + echo "Removing outdated image ..." + docker rmi $1 >/dev/null fi } function cleanup { if [[ $L3D_FORCE_UPDATE -eq 1 ]]; then - removecontainer all php-${PHP_VERSION} + IMAGEIDS=( $(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}) ) + for IMAGEID in $IMAGEIDS; do + removecontainer $IMAGEID + done else - NEWIMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1) - removecontainer selective php-${PHP_VERSION} + IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1) + removecontainer $IMAGEID rmi fi - removecontainer all node:8-jessie-slim + IMAGEIDS=( $(docker image ls -q node:8-jessie-slim) ) + for IMAGEID in $IMAGEIDS; do + removecontainer $IMAGEID + done } if [[ -n ${PHP_VERSION} ]]; then -- GitLab