#!/bin/bash # Update package lists and upgrade packages echo "Updating and upgrading packages..." sudo apt-get update && sudo apt-get upgrade -y # Install required packages for Docker echo "Installing required packages..." sudo apt-get install -y ca-certificates curl gnupg lsb-release # Create directory for Docker's keyrings echo "Setting up Docker keyrings..." sudo install -m 0755 -d /etc/apt/keyrings # Add Docker's official GPG key echo "Adding Docker's GPG key..." curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc >/dev/null # Set permissions for the GPG key echo "Setting permissions for Docker's GPG key..." sudo chmod a+r /etc/apt/keyrings/docker.asc # Add Docker's repository to Apt sources echo "Adding Docker's repository..." echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null # Update package lists to include Docker's repository echo "Updating package lists with Docker's repository..." sudo apt-get update # Install Docker packages echo "Installing Docker packages..." sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Verify Docker installation echo "Verifying Docker installation..." sudo docker run hello-world echo "Docker installation complete!"