To install Docker on Ubuntu, follow these steps:

Step 1: Uninstall Old Versions (If Any)

If you have an older version of Docker installed, remove it first:
sudo apt remove docker docker-engine docker.io containerd runc

Step 2: Update Package List

Update the package index and install dependencies:
sudo apt update
sudo apt install -y ca-certificates curl gnupg

Step 3: Add Docker’s Official GPG Key

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Step 4: Add Docker Repository

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Then, update the package list again:
sudo apt update

Step 5: Install Docker Engine, CLI, and Containerd

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Step 6: Verify Docker Installation

Check if Docker is installed correctly:
docker --version
Start the Docker service:
sudo systemctl start docker
sudo systemctl enable docker
Test Docker with a Hello World container:
sudo docker run hello-world

Step 7: Run Docker Without sudo (Optional)

By default, Docker requires root privileges. To allow your user to run Docker without sudo:
sudo usermod -aG docker $USER
Then, log out and log back in or run:
newgrp docker
Now, try running:
docker ps

Step 8: Enable Docker to Start on Boot

sudo systemctl enable docker

Bonus: Install Docker Compose

Docker Compose allows you to run multi-container applications. Install it using:
sudo apt install -y docker-compose-plugin
Verify installation:
docker compose version