Upload files to "/"
This commit is contained in:
85
portainer_docker_uninstall.sh
Normal file
85
portainer_docker_uninstall.sh
Normal file
@@ -0,0 +1,85 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
# --- Colors and Formatting ---
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
BOLD='\033[1m'
|
||||
RESET='\033[0m'
|
||||
info() { echo -e "${CYAN}ℹ️ $*${RESET}"; }
|
||||
success() { echo -e "${GREEN}✅ $*${RESET}"; }
|
||||
warn() { echo -e "${YELLOW}⚠️ $*${RESET}"; }
|
||||
error() { echo -e "${RED}❌ $*${RESET}"; }
|
||||
step() { echo -e "${BOLD}${BLUE}➤ $*${RESET}"; }
|
||||
|
||||
# Require sudo upfront
|
||||
if ! sudo -v; then
|
||||
error "This script requires sudo privileges. Please run again with a sudo-capable user."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
step "Stopping Docker and Portainer containers/services..."
|
||||
|
||||
# Stop Portainer container if running
|
||||
if docker ps -a --format '{{.Names}}' | grep -q "^portainer$"; then
|
||||
info "Stopping Portainer container..."
|
||||
sudo docker stop portainer || true
|
||||
sudo docker rm portainer || true
|
||||
else
|
||||
info "Portainer container not found."
|
||||
fi
|
||||
|
||||
# Stop Docker service
|
||||
info "Stopping Docker service..."
|
||||
sudo systemctl stop docker || true
|
||||
|
||||
step "Removing Docker packages..."
|
||||
|
||||
# Detect distro to remove packages accordingly
|
||||
if [ -f /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
DISTRO_ID="$ID"
|
||||
else
|
||||
DISTRO_ID=""
|
||||
fi
|
||||
|
||||
case "$DISTRO_ID" in
|
||||
ubuntu|debian|raspbian|linuxmint)
|
||||
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker
|
||||
sudo apt-get autoremove -y --purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker
|
||||
;;
|
||||
fedora)
|
||||
sudo dnf remove -y moby-engine docker-cli containerd docker-buildx docker-compose docker-compose-switch || true
|
||||
;;
|
||||
centos|rhel|rocky|almalinux|ol|oracle)
|
||||
sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin || true
|
||||
;;
|
||||
arch|manjaro|endeavouros|garuda|artix|arcolinux|antergos|chakra|kaos)
|
||||
sudo pacman -Rns --noconfirm docker docker-compose
|
||||
;;
|
||||
opensuse*|suse|sles)
|
||||
sudo zypper remove -y docker docker-compose
|
||||
;;
|
||||
alpine)
|
||||
sudo apk del docker docker-compose
|
||||
;;
|
||||
*)
|
||||
warn "Unsupported or unrecognized Linux distribution: $DISTRO_ID - skipping package removal"
|
||||
;;
|
||||
esac
|
||||
|
||||
step "Removing Docker data and configuration files..."
|
||||
|
||||
# Remove Docker directories and leftover files
|
||||
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker /etc/systemd/system/docker.service.d
|
||||
sudo rm -rf ~/.docker
|
||||
|
||||
# Remove Docker group and socket if exist
|
||||
sudo groupdel docker || true
|
||||
sudo rm -f /var/run/docker.sock || true
|
||||
|
||||
step "Clean up completed."
|
||||
|
||||
success "Docker and Portainer have been uninstalled from this system."
|
||||
Reference in New Issue
Block a user