#!/usr/bin/env bash # Снапшот лаборатории # Автор: Сергей Антропов # Сайт: https://devops.org.ru set -euo pipefail OUT_DIR="/ansible/snapshots" mkdir -p "$OUT_DIR" # Найти все контейнеры лаборатории ids=$(docker ps -q --filter "label=ansible.lab=true") if [ -z "$ids" ]; then echo "No lab containers to snapshot" exit 0 fi for id in $ids; do name=$(docker inspect --format '{{.Name}}' "$id" | sed 's#^/##') img="lab-snap-$name:latest" echo "[snapshot] $name -> $img" docker commit "$id" "$img" >/dev/null echo "$img" > "$OUT_DIR/$name.image" done echo "Snapshots saved to $OUT_DIR/"