Are you ready for more action?
chmod +x armagedocker
sudo mv armagedocker /usr/local/bin/
armagedocker.shAre you ready for more action?
chmod +x armagedocker
sudo mv armagedocker /usr/local/bin/
armagedocker.sh| #!/bin/bash | |
| # Colores para los mensajes | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| NC='\033[0m' # No Color | |
| # Detect container runtime (podman or docker) | |
| CONTAINER_RUNTIME=$(which podman 2>/dev/null || which docker 2>/dev/null) | |
| if [ -z "$CONTAINER_RUNTIME" ]; then | |
| echo "Error: No container runtime found. Please install podman or docker." | |
| exit 1 | |
| fi | |
| RUNTIME_CMD=$(basename "$CONTAINER_RUNTIME") | |
| echo "Using container runtime: $RUNTIME_CMD" | |
| echo -e "${RED}¡ADVERTENCIA!${NC}" | |
| echo -e "${YELLOW}Este script eliminará TODOS los contenedores, imágenes, volúmenes y redes de Docker.${NC}" | |
| echo -e "${YELLOW}Esta acción no se puede deshacer.${NC}" | |
| read -p "¿Estás seguro que deseas continuar? (s/N): " respuesta | |
| if [[ "$respuesta" =~ ^[Ss]$ ]]; then | |
| echo -e "\n${YELLOW}Iniciando limpieza total de Docker...${NC}" | |
| # Detener todos los contenedores en ejecución | |
| echo -e "\n${GREEN}Deteniendo todos los contenedores...${NC}" | |
| $RUNTIME_CMD stop $($RUNTIME_CMD ps -aq) 2>/dev/null || echo "No hay contenedores en ejecución" | |
| # Eliminar todos los contenedores | |
| echo -e "\n${GREEN}Eliminando todos los contenedores...${NC}" | |
| $RUNTIME_CMD rm -f $($RUNTIME_CMD ps -aq) 2>/dev/null || echo "No hay contenedores para eliminar" | |
| # Eliminar todas las imágenes | |
| echo -e "\n${GREEN}Eliminando todas las imágenes...${NC}" | |
| $RUNTIME_CMD rmi -f $($RUNTIME_CMD images -aq) 2>/dev/null || echo "No hay imágenes para eliminar" | |
| # Eliminar todos los volúmenes | |
| echo -e "\n${GREEN}Eliminando todos los volúmenes...${NC}" | |
| $RUNTIME_CMD volume rm $($RUNTIME_CMD volume ls -q) 2>/dev/null || echo "No hay volúmenes para eliminar" | |
| # Eliminar todas las redes personalizadas | |
| echo -e "\n${GREEN}Eliminando todas las redes personalizadas...${NC}" | |
| $RUNTIME_CMD network rm $($RUNTIME_CMD network ls -q) 2>/dev/null || echo "No hay redes personalizadas para eliminar" | |
| # Eliminar imágenes huérfanas (dangling) | |
| echo -e "\n${GREEN}Eliminando imágenes huérfanas...${NC}" | |
| $RUNTIME_CMD system prune -af --volumes | |
| echo -e "\n${GREEN}¡Limpieza completada!${NC}" | |
| # Mostrar el estado actual | |
| echo -e "\n${YELLOW}Estado actual de Docker:${NC}" | |
| echo -e "\n${GREEN}Contenedores:${NC}" | |
| $RUNTIME_CMD ps -a | |
| echo -e "\n${GREEN}Imágenes:${NC}" | |
| $RUNTIME_CMD images | |
| echo -e "\n${GREEN}Volúmenes:${NC}" | |
| $RUNTIME_CMD volume ls | |
| echo -e "\n${GREEN}Redes:${NC}" | |
| $RUNTIME_CMD network ls | |
| else | |
| echo -e "\n${YELLOW}Operación cancelada${NC}" | |
| fi |