Mercurial > public > ssdt-docker
view scripts/updates-apply.sh @ 75:aa2fd199ba56
improve pid2name script
author | smith@nwoca.org |
---|---|
date | Wed, 23 Mar 2016 16:39:31 +0100 |
parents | 334d65dac778 |
children | fea886ba7279 |
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 usps # : ${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 t=(${container//_/ }) service=${t[1]} if [[ $service == $SERVICE ]] then echo -e "\n$project: Updating $service" docker-compose up -d $service fi fi done < <(docker-compose ps) done cd $ORIGINALDIR