diff --git a/bin/cleanup.sh b/bin/cleanup.sh new file mode 100755 index 0000000..4a79f7a --- /dev/null +++ b/bin/cleanup.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Self-destruct script to remove Docker containers created by the build process +set -euo pipefail + +# Remove the knel-football-builder container if it exists +if docker ps -a --format '{{.Names}}' | grep -q "^knel-football-builder$"; then + echo "Removing knel-football-builder container..." + docker rm -f knel-football-builder +fi + +# Remove any anonymous containers related to this project +echo "Removing anonymous containers..." +docker ps -a --filter "label=project=knel-football" -q | xargs -r docker rm -f + +echo "Self-destruct completed." diff --git a/bin/docker-manage.sh b/bin/docker-manage.sh new file mode 100755 index 0000000..7999200 --- /dev/null +++ b/bin/docker-manage.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# Utility script to manage Docker containers +set -euo pipefail + +case "${1:-}" in +cleanup | clean) + echo "Removing containers..." + docker ps -a --filter "name=knel-football" -q | xargs -r docker rm -f + docker images --filter "reference=knel-football:*" -q | xargs -r docker rmi -f + echo "Cleanup completed." + ;; +stop) + echo "Stopping containers..." + docker ps --filter "name=knel-football" -q | xargs -r docker stop + echo "Containers stopped." + ;; +logs) + if [ -z "${2:-}" ]; then + echo "Usage: $0 logs " + exit 1 + fi + docker logs "knel-football-${2}" + ;; +exec) + if [ -z "${2:-}" ]; then + echo "Usage: $0 exec [command]" + exit 1 + fi + shift + docker exec -it "knel-football-${1}" "${@:2}" + ;; +status | st) + echo "Container status:" + docker ps -a --filter "name=knel-football" --format "table {{.Names}}\t{{.Status}}" + ;; +*) + echo "Usage: $0 {cleanup|stop|logs|exec|status}" + echo "Commands:" + echo " cleanup - Remove all containers and images" + echo " stop - Stop all running containers" + echo " logs - Show container logs" + echo " exec - Execute command in container" + echo " status - Show container status" + exit 1 + ;; +esac