Простенький скрипт - смотрит все запущенные компоуз проекты, проходится по директориям каждого из них и обновляет все контейнеры.

#!/usr/bin/env bash
 
INIT_PWD=$(pwd)
 
if [[ -z $(groups | grep -o docker) ]]; then
  SUDO=sudo
else
  SUDO=''
fi
 
RUNNING_COMPOSES=$($SUDO docker compose ls | grep -E -o -i '/.*/docker-compose.yml,*' | grep -E -o -i '/.*/')
 
for i in $RUNNING_COMPOSES; do
  cd $i
  $($SUDO docker compose down && $SUDO docker compose pull && $SUDO docker compose up -d)
done
 
cd $INIT_PWD