Docker + Docker Compose Installation Guide

Ubuntu Server 24.04.4 LTS (Intel / AMD)

Overview

This guide installs:

  • Docker Engine
  • Docker Compose v2
  • Docker Buildx
  • Automatic Docker startup at boot

Platform:

  • Ubuntu Server 24.04.4 LTS
  • Intel / AMD (x86_64)

Step 1 — Update Ubuntu

Update package lists and upgrade the system.

sudo apt update
sudo apt upgrade -y

Step 2 — Install Required Dependencies

Install packages required for secure repositories.

sudo apt install -y ca-certificates curl gnupg

Step 3 — Create Docker Keyring Directory

sudo install -m 0755 -d /etc/apt/keyrings

Step 4 — Add Docker Official GPG Key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Set proper permissions:

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 \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Step 6 — Update Package Index

sudo apt update

Step 7 — Install Docker Engine and Components

Install Docker Engine and related tools:

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

Installed components include:

  • docker-ce – Docker Engine
  • docker-ce-cli – Docker command-line tools
  • containerd – container runtime
  • docker-buildx-plugin – advanced build tool
  • docker-compose-plugin – Docker Compose v2

Step 8 — Enable Docker to Start Automatically

sudo systemctl enable docker
sudo systemctl start docker

Verify Docker service status:

systemctl status docker

Press Q to exit.


Step 9 — Verify Installation

Check Docker version:

docker --version

Example output:

Docker version 26.x.x

Check Docker Compose version:

docker compose version

Example output:

Docker Compose version v2.x.x

Step 10 — Test Docker Installation

Run a test container:

sudo docker run hello-world

Expected output:

Hello from Docker!

This confirms Docker is working properly.


Step 11 — (Optional) Allow Docker Without sudo

Add your user to the Docker group:

sudo usermod -aG docker $USER

Then log out and log back in or reboot the server.

Test:

docker ps

Example Docker Compose Test

Create a Test Directory

mkdir ~/docker-test
cd ~/docker-test

Create Compose File

nano docker-compose.yml

Paste the following:

services:
nginx:
image: nginx:latest
ports:
- "8080:80"

Save and exit.


Start Container

docker compose up -d

Verify Container Running

docker ps

You should see the nginx container running.


Open in Browser

http://SERVER-IP:8080

You should see the Nginx welcome page.


Stop the Container

docker compose down

Useful Docker Commands

List running containers

docker ps

List all containers

docker ps -a

View container logs

docker logs CONTAINER_NAME

Stop a container

docker stop CONTAINER_NAME

Remove a container

docker rm CONTAINER_NAME

Optional Tools (Recommended for Servers)

Common tools installed with Docker environments:

ToolPurpose
PortainerWeb UI for Docker management
Nginx Proxy ManagerReverse proxy + SSL
WatchtowerAutomatic container updates

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Secret Link