Last active
September 8, 2024 05:35
-
-
Save meepak/179cda481ae8c6f0237980dff8229f10 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Function to exit on error | |
exit_on_error() { | |
echo "Error: $1" | |
exit 1 | |
} | |
# Stop all running Docker containers | |
echo "Stopping all Docker containers..." | |
docker ps -q | xargs -r docker stop | |
# Remove all Docker containers | |
echo "Removing all Docker containers..." | |
docker ps -a -q | xargs -r docker rm | |
# Remove all Docker images | |
echo "Removing all Docker images..." | |
docker images -q | xargs -r docker rmi -f | |
# Remove all Docker volumes (only if volumes exist) | |
echo "Removing all Docker volumes..." | |
docker volume ls -q | xargs -r docker volume rm | |
# Remove all Docker networks (excluding default networks) | |
echo "Removing all Docker networks..." | |
docker network ls | grep -v "bridge\|host\|none" | awk '/ / { print $1 }' | xargs -r docker network rm | |
# Purge Docker and its dependencies if installed | |
echo "Purging Docker and its dependencies..." | |
if dpkg -l | grep -q docker-ce; then | |
sudo apt-get purge -y docker-ce || exit_on_error "Failed to purge docker-ce" | |
else | |
echo "docker-ce is not installed, skipping." | |
fi | |
if dpkg -l | grep -q docker-ce-cli; then | |
sudo apt-get purge -y docker-ce-cli || exit_on_error "Failed to purge docker-ce-cli" | |
else | |
echo "docker-ce-cli is not installed, skipping." | |
fi | |
if dpkg -l | grep -q containerd; then | |
sudo apt-get purge -y containerd || exit_on_error "Failed to purge containerd" | |
else | |
echo "containerd is not installed, skipping." | |
fi | |
# Remove Docker directories | |
echo "Removing Docker directories..." | |
sudo rm -rf /var/lib/docker /var/lib/containerd | |
# Remove any remaining Docker configuration files | |
echo "Removing Docker configuration files..." | |
sudo rm -rf /etc/docker /etc/containerd /run/docker.sock | |
# Clean up any leftover package files | |
echo "Cleaning up leftover files..." | |
sudo apt-get autoremove -y | |
sudo apt-get clean | |
echo "Docker removal complete." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment