Небольшие сниппеты и команды, которые постоянно вылетают из головы, но часто используются.

Обновление образов через Docker Compose во всех вложенных папках

Например у вас есть несколько проектов, каждый с собственным docker-compose.yml файлом. Данный скрипт обходит все директории в текущей директории и выполняет docker compose pull для каждого проекта. Так же можно добавить docker compose up -d для перезапуска контейнеров после обновления образов.

#!/bin/bash

# Проверяем, установлен ли Docker
if ! command -v docker &> /dev/null; then
  echo "Docker не установлен. Пожалуйста, установите Docker."
  exit 1
fi

# Обходим все директории в текущей папке и выполняет docker compose pull
find . -type d -print0 | while IFS= read -r -d $'\0' dir; do
  if [ -f "$dir/docker-compose.yml" ]; then
    echo "Найдена docker-compose.yml в директории: $dir"
    cd "$dir"
    docker compose pull
    cd -
  fi
done

echo "Готово!"