#!/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 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 IMAGEIDS=( $(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}) ) for IMAGEID in $IMAGEIDS; 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 IMAGEIDS=( $(docker image ls -q node:8-jessie-slim) ) for IMAGEID in $IMAGEIDS; 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