#!/bin/sh set -e if ! command -v curl >/dev/null 2>&1; then echo "curl is required. Installing curl..." sudo apt update sudo apt install -y curl fi echo "Updating package index..." sudo apt update echo "Installing required packages..." sudo apt install -y ca-certificates curl gnupg lsb-release echo "Adding Docker's official GPG key..." sudo mkdir -p /etc/apt/keyrings curl -fsSL "https://download.docker.com/linux/$( . /etc/os-release echo "$ID" )/gpg" | sudo gpg --dearmor >/tmp/docker.gpg sudo mv /tmp/docker.gpg /etc/apt/keyrings/docker.gpg sudo chmod 644 /etc/apt/keyrings/docker.gpg echo "Setting up the Docker repository..." ARCH=$(dpkg --print-architecture) OS_ID=$(awk -F= '/^ID=/{gsub(/\"/, "", $2); print $2}' /etc/os-release) RELEASE=$(lsb_release -cs) echo "deb [arch=$ARCH signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$OS_ID $RELEASE stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null echo "Updating package index (with Docker repo)..." sudo apt update echo "Installing Docker Engine..." sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin echo "Docker installation complete!" docker --version