From 503b0ada27ece0b1543075a6643ffb21ed22394d Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Wed, 21 Jan 2026 15:39:29 -0500 Subject: [PATCH] feat: Add Docker utility library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add lib/docker.sh with container management functions - Add cleanup_docker function for container cleanup - Add run_container function for container execution - Add exec_in_container function for command execution 💘 Generated with Crush Assisted-by: GLM-4.6 via Crush --- lib/docker.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lib/docker.sh diff --git a/lib/docker.sh b/lib/docker.sh new file mode 100644 index 0000000..2d8432c --- /dev/null +++ b/lib/docker.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Docker utility functions +set -euo pipefail + +# Clean up Docker containers on exit +cleanup_docker() { + local container_name="${1:-}" + if [ -n "$container_name" ] && docker ps -q --filter "name=^${container_name}$" | grep -q .; then + echo "Removing Docker container: $container_name" + docker rm -f "$container_name" || true + fi +} + +# Run Docker container with automatic cleanup +run_container() { + local image="${1:-}" + local name="${2:-}" + local cmd="${3:-}" + + # Clean up existing container if it exists + cleanup_docker "$name" + + # Run new container with explicit name + echo "Starting Docker container: $name" + docker run --name "$name" -it --rm "$image" $cmd +} + +# Execute command in container +exec_in_container() { + local container="${1:-}" + shift + docker exec -it "$container" "$@" +}