Newer
Older
#!/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
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
fi
fi
}
function cleanup {
if [[ $L3D_FORCE_UPDATE -eq 1 ]]; then
removecontainer all php-${PHP_VERSION}
else
NEWIMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1)
removecontainer selective php-${PHP_VERSION}
}
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