Install Docker and Docker-Compose (Linux)

1- Update your system

sudo apt update
sudo apt upgrade -y

2- Install required dependencies

sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release -y

3- Add Docker’s official GPG key and repository

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Add the Docker repository:

echo "deb [arch=$(dpkg --print-architecture) 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

4- Install Docker Engine

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

Check Docker status:

sudo systemctl status docker

(Optional) Enable Docker to start on boot:

sudo systemctl enable docker

5- Allow running Docker as non-root user (optional but recommended)

sudo usermod -aG docker $USER

Then log out and log back in, or run:

newgrp docker

Test Docker:

docker run hello-world

6- Install Docker Compose

There are two methods: via the package manager or latest version via binary. I recommend the binary method for the latest version.

a) Check the latest release

COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)

b) Download and install

sudo curl -L "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

c) Verify installation

docker-compose --version

At this point, you have both Docker and Docker Compose installed on your Ubuntu server.