#!/bin/bash function removecontainer { 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 2>&1 docker rm ${ID} >/dev/null 2>&1 else break fi done if [[ "$2" == "rmi" ]]; then echo "Removing outdated image ..." docker rmi $1 >/dev/null 2>&1 fi } function cleanup { if [[ $L3D_FORCE_UPDATE -eq 1 ]]; then docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION} > /tmp/reset.lst for IMAGEID in `cat /tmp/reset.lst`; do removecontainer $IMAGEID done else IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1) removecontainer $IMAGEID rmi fi docker image ls -q registry.lakedrops.com/docker/node > /tmp/reset.lst for IMAGEID in `cat /tmp/reset.lst`; do removecontainer $IMAGEID done } if [[ -n ${PHP_VERSION} ]]; then if [[ $L3D_FORCE_UPDATE -eq 1 ]]; then echo "Force update" cleanup else IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION} | head -1) if [[ -z ${IMAGEID} ]]; then exit fi 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" cleanup fi fi fi