diff --git a/Docker_Essentials/docker_daily_restart.sh b/Docker_Essentials/docker_daily_restart.sh index c133a73..ba1c9bf 100644 --- a/Docker_Essentials/docker_daily_restart.sh +++ b/Docker_Essentials/docker_daily_restart.sh @@ -344,6 +344,22 @@ done END=$(date +%s) +# ============================================================================================== +# ━━━ Prune Old Images ━━━ +# ============================================================================================== +# Restarts above swap containers onto new images — old images are now dangling. Prune immediately. +echo "" +echo "━━━ $ICON_SYNC Pruning Dangling Images — $(date '+%Y-%m-%d %H:%M:%S') ━━━" + +if [[ "$DRY_RUN" == true ]]; then + warn "DRY RUN — would prune dangling images" + PRUNED_SUMMARY="(dry run)" +else + PRUNED_OUTPUT=$(docker image prune -f 2>&1) + [[ "$ENABLE_LOGGING" == "true" ]] && echo "$PRUNED_OUTPUT" | sed 's/^/ /' + PRUNED_SUMMARY=$(echo "$PRUNED_OUTPUT" | grep -E "^Total reclaimed" || echo "nothing reclaimed") +fi + # ============================================================================================== # ━━━ Summary ━━━ # ============================================================================================== @@ -354,6 +370,7 @@ echo "$ICON_CONTAINERS Scope: ${#RESTARTED[@]} restarted, ${#SKIPPED[@]} skipp [[ ${#RESTARTED[@]} -gt 0 ]] && log "$ICON_STARTED Restarted: ${RESTARTED[*]}" [[ ${#SKIPPED[@]} -gt 0 ]] && log "$ICON_NOT_RUNNING Skipped: ${SKIPPED[*]}" [[ ${#FAILED[@]} -gt 0 ]] && echo "$ICON_ERROR Failed: ${FAILED[*]}" +echo "$ICON_SYNC Pruned: ${PRUNED_SUMMARY:-none}" if [[ "$DRY_RUN" == true ]]; then warn "DRY RUN — no changes made" diff --git a/Docker_Essentials/docker_update.sh b/Docker_Essentials/docker_update.sh index 05d8f72..5ce550e 100644 --- a/Docker_Essentials/docker_update.sh +++ b/Docker_Essentials/docker_update.sh @@ -313,21 +313,6 @@ done END=$(date +%s) -# ============================================================================================== -# ━━━ Prune Old Images ━━━ -# ============================================================================================== -echo "" -echo "━━━ $ICON_SYNC Pruning Dangling Images — $(date '+%Y-%m-%d %H:%M:%S') ━━━" - -if [[ "$DRY_RUN" == true ]]; then - warn "DRY RUN — would prune dangling images" - PRUNED_SUMMARY="(dry run)" -else - PRUNED_OUTPUT=$(docker image prune -f 2>&1) - [[ "$ENABLE_LOGGING" == "true" ]] && echo "$PRUNED_OUTPUT" | sed 's/^/ /' - PRUNED_SUMMARY=$(echo "$PRUNED_OUTPUT" | grep -E "^Total reclaimed" || echo "nothing reclaimed") -fi - # ============================================================================================== # ━━━ Summary ━━━ # ============================================================================================== @@ -345,7 +330,6 @@ fi [[ ${#UP_TO_DATE[@]} -gt 0 ]] && log "$ICON_RUNNING Up to date: ${#UP_TO_DATE[@]}" [[ ${#SKIPPED[@]} -gt 0 ]] && log "$ICON_WARN Skipped: ${#SKIPPED[@]}" [[ ${#FAILED[@]} -gt 0 ]] && echo "$ICON_ERROR Failed: ${FAILED[*]}" -echo "$ICON_SYNC Pruned: ${PRUNED_SUMMARY:-none}" if [[ "$DRY_RUN" == true ]]; then warn "DRY RUN — no images pulled"