Mercurial > public > ssdt-docker
view scripts/updates-apply.sh @ 530:7067a9e7e993 release/2.17.0
flow: Created branch 'release/2.17.0'.
author | Marc Davis <marc.davis@mcoecn.org> |
---|---|
date | Thu, 02 May 2024 22:45:37 -0400 |
parents | 6aecbb32c587 |
children |
line wrap: on
line source
#!/bin/bash # Scans for docker projects in specified parent path and # updates images, if applicable. # # The parent directory to search for docker-compose.yml # files must be specified. An optional service to update # may be specified in the second argument. The default is # to update services matching "*app". # # Only services which are currently running will be updated. # The script will not automatically start stopped services. # # examples: # /ssdt/apply-updates.sh /data/preview # /ssdt/apply-updates.sh /data/preview uspsapp # source "${SSDT_SCRIPTS:-$(dirname "${BASH_SOURCE[0]}")}/.functions.sh" : ${1?"Usage: {parent path} [service]"} SERVICE=${2:-*app} ORIGINALDIR=$PWD PARENTDIR=$1 for f in $(find $PARENTDIR -name docker-compose.yml) do projectdir=`dirname $f` project=`basename $projectdir` cd $projectdir echo -e "----\n$project: checking services" while read line do read container eol <<< $line if [[ $container == *_1 ]] then if [[ $eol =~ "Up" ]] then t=(${container//_/ }) service=${t[1]} if [[ $service == $SERVICE ]] then echo -e "\n$project: Updating $service" docker-compose up -d $service fi fi fi done < <(docker-compose ps) done cd $ORIGINALDIR