Skip to content

Instantly share code, notes, and snippets.

@BTabaku
Last active November 21, 2023 13:41
Show Gist options
  • Save BTabaku/7ad835e5d58c625e7ab88842ec977991 to your computer and use it in GitHub Desktop.
Save BTabaku/7ad835e5d58c625e7ab88842ec977991 to your computer and use it in GitHub Desktop.
Setup docker on Cent-OS Script Removal/Reinstall
#!/bin/bash
# Stop Docker if exist
sudo systemctl stop docker
# Remove Docker Packages
sudo yum remove docker-ce docker-ce-cli containerd.io
# Remove Docker Data (Optional)
sudo rm -rf /var/lib/docker
# Remove Docker Dependencies (Optional)
sudo yum autoremove
# Remove Docker User Group (Optional)
sudo groupdel docker
# Remove Docker Repository (Optional)
sudo rm -rf /etc/yum.repos.d/docker*.repo
echo "Docker has been removed from the system."
# Ensure the script is run as root
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# Stop any running Docker processes
sudo systemctl stop docker
# Remove the previous Docker installation
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# Set up the repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker Engine
sudo yum install -y docker-ce docker-ce-cli containerd.io
# Handle the Docker service
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl is-active --quiet docker && echo "Docker is running."
# Check if Docker group exists, add if it doesn't
if ! getent group docker > /dev/null 2>&1; then
sudo groupadd docker
fi
# Add the current user to the Docker group, if not already added
if ! groups $USER | grep &>/dev/null '\bdocker\b'; then
sudo usermod -aG docker $USER
fi
# Set permissions for Docker socket
sudo chown "$USER":docker /var/run/docker.sock
sudo chmod 660 /var/run/docker.sock
# Install the latest version of Docker Compose
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Verify installation
docker-compose --version
# Feedback
echo "Docker and Docker Compose have been installed and started."
# Post-installation message
echo "Please log out and back in to ensure your user is properly set up with Docker group permissions."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment