From de0a65dd8114beaf0b66d2f3811edc460e368ee4 Mon Sep 17 00:00:00 2001 From: MARKMENTAL Date: Sun, 2 Jun 2024 08:56:07 -0400 Subject: [PATCH] Initial Commit --- tux-dock.sh | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 tux-dock.sh diff --git a/tux-dock.sh b/tux-dock.sh new file mode 100644 index 0000000..61e84a2 --- /dev/null +++ b/tux-dock.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +while true; do + echo "Docker Management Menu" + echo "1. Pull Docker Image" + echo "2. Run/Create Docker Container Interactively" + echo "3. List All Docker Containers" + echo "4. List All Docker Images" + echo "5. Start Interactive Container Session" + echo "6. Start Detached Container Session" + echo "7. Delete Docker Image" + echo "8. Stop Docker Container" + echo "9. Remove Docker Container" + echo "10. Access Interactive Shell of Running Container" + echo "11. Spin Up MySQL Docker Container" + echo "12. Exit" + read -p "Choose an option: " option + + case $option in + 1) + read -p "Enter the Docker image to pull (e.g., alpine): " image + docker pull $image + ;; + 2) + read -p "Enter the Docker image to run interactively (e.g., alpine): " image + read -p "How many port mappings do you want to add? " port_count + ports="" + for ((i=1; i<=port_count; i++)); do + read -p "Enter port mapping #$i (e.g., 8081:8081): " port + ports+="-p $port " + done + docker run -it $ports $image /bin/sh + ;; + 3) + docker ps -a + ;; + 4) + docker images + ;; + 5) + read -p "Enter the container ID to start interactively: " containerid + docker start -ai $containerid + ;; + 6) + read -p "Enter the container ID to start in detached mode: " containerid + docker start $containerid + ;; + 7) + read -p "Enter the Docker image name or ID to delete: " image + docker rmi $image + ;; + 8) + read -p "Enter the container ID to stop: " containerid + docker stop $containerid + ;; + 9) + read -p "Enter the container ID to remove: " containerid + docker rm $containerid + ;; + 10) + read -p "Enter the container ID to access an interactive shell: " containerid + docker exec -it $containerid /bin/sh + ;; + 11) + read -p "Enter the port range (e.g., 3306:3306): " port + read -p "Enter the MySQL root password: " mysql_password + read -p "Enter the MySQL version tag (e.g., 8): " mysql_version + docker run -p $port --name mysql-container -e MYSQL_ROOT_PASSWORD=$mysql_password -d mysql:$mysql_version + ;; + 12) + break + ;; + *) + echo "Invalid option. Please try again." + ;; + esac +done