#!/bin/bash # Update and upgrade the system echo "Updating and upgrading system..." sudo apt update -y && sudo apt upgrade -y # Install necessary dependencies echo "Installing required dependencies..." sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # Add Docker's official GPG key echo "Adding Docker's GPG key..." curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Set up the stable Docker repository echo "Setting up the Docker repository..." echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Install Docker echo "Installing Docker..." sudo apt update -y sudo apt install -y docker-ce docker-ce-cli containerd.io # Start and enable Docker service echo "Starting and enabling Docker service..." sudo systemctl start docker sudo systemctl enable docker # Verify Docker installation echo "Verifying Docker installation..." sudo docker --version # Install Docker Compose (latest version) echo "Installing Docker Compose..." DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r .tag_name) sudo curl -L "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Give execute permissions to Docker Compose echo "Setting execute permissions for Docker Compose..." sudo chmod +x /usr/local/bin/docker-compose # Verify Docker Compose installation echo "Verifying Docker Compose installation..." docker-compose --version # Add user to the docker group (optional but recommended) echo "Adding user to the Docker group..." sudo usermod -aG docker $USER # Inform the user to log out and log back in for the group changes to take effect echo "Installation complete. Please log out and log back in for Docker group changes to take effect."