Overview

This guide walks you through the steps to install the latest version of Docker Engine and Docker Compose on Ubuntu 24.04. These steps are officially recommended by Docker and tested to work on VPS providers like Contabo, Hetzner, and DigitalOcean.


🛠️ Prerequisites

  • A server running Ubuntu 24.04
  • sudo/root access to the terminal
  • Internet connectivity

✅ Step-by-Step Installation

📦 Step 1: Remove Older Versions (if any)

sudo apt remove docker docker-engine docker.io containerd runc
sudo apt remove docker docker-engine docker.io containerd runc

🔄 Step 2: Update System

sudo apt update
sudo apt upgrade -y
sudo apt update
sudo apt upgrade -y

🐳 Step 3: Install Required Dependencies

sudo apt install ca-certificates curl gnupg lsb-release -y
sudo apt install ca-certificates curl gnupg lsb-release -y

🔐 Step 4: Add Docker’s Official GPG Key

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

🧭 Step 5: 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
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

📥 Step 6: Install Docker Engine

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

🚀 Step 7: Verify Installation

docker --version
docker compose version
docker --version
docker compose version

Expected output:

Docker version 24.x.x, build xxxxxxxx
docker compose version v2.x.x
Docker version 24.x.x, build xxxxxxxx
docker compose version v2.x.x

👤 Optional: Run Docker Without Sudo

sudo usermod -aG docker $USER
newgrp docker
sudo usermod -aG docker $USER
newgrp docker

Logout and back in for group changes to take effect.


🔎 Resources


engineerhow.com recommendation: Always use the official Docker repo to avoid outdated versions in Ubuntu’s APT default sources. Combine this with Portainer or Coolify for easy container management.


© 2025 EngineerHow.com — All rights reserved.