419 words
2 min read

Install Docker Engine and Docker Compose on Ubuntu Server

By · Docker Captain · CNCF Ambassador · IBM Champion
Cover image for the post 'Install Docker Engine and Docker Compose on Ubuntu Server'

This article is for those looking for a detailed and straightforward guide on installing Docker Engine and Docker Compose on Ubuntu Server.

Docker is a container management system that allows you to “package” an application or website with all its environment and dependencies into a container that you can easily manage. For example, transfer to another server, scale, or update.

TIP

Architecture Context

Choose self-managed Docker Engine when you need full control over container runtime configuration, storage drivers, and network plugins. Amazon ECS, Google Cloud Run, or Azure Container Instances provide managed alternatives that eliminate host-level maintenance. Self-managed Docker is justified when you need custom runtime configuration, on-premises deployment, or want to avoid cloud vendor lock-in at the container runtime layer.

IMPORTANT

OpenSSH must be installed on the server, and port 22 must be open to be able to connect to the server using the SSH protocol.

To install OpenSSH on a server, you can use the command:

Terminal window
sudo apt install openssh-server
NOTE

To connect to the server from a Windows system, you can use tools like PuTTY or MobaXterm.

NOTE

This guide walks you through connecting to a server with the iTerm2 terminal emulator on macOS.

We connect to the server on which you plan to install the Docker Engine.

Download the Docker Engine and Docker Compose installation script using the command:

Terminal window
curl -fsSL https://get.docker.com -o get-docker.sh

Install Docker Engine and Docker Compose on Ubuntu Server - Step 1

Now let’s start the Docker Engine and Docker Compose installation using the command:

Terminal window
sh get-docker.sh

Install Docker Engine and Docker Compose on Ubuntu Server - Step 2

Now you need to make sure the Docker Engine is installed correctly. To do this, you need to run the command:

Terminal window
docker version

Install Docker Engine and Docker Compose on Ubuntu Server - Step 3

Next, you need to make sure the Docker Compose is installed correctly. To do this, you need to run the command:

Terminal window
docker compose version

Install Docker Engine and Docker Compose on Ubuntu Server - Step 4

Based on the received messages, the Docker Engine and Docker Compose are installed correctly.

Install Docker Engine and Docker Compose on Ubuntu Server - Step 5

Next, you can add a user to the “docker” group to run the Docker Engine without having to use “sudo”.

Add the user “ubuntu” to the “docker” group using the command:

Terminal window
sudo usermod -aG docker $USER

Install Docker Engine and Docker Compose on Ubuntu Server - Step 6

To apply changes you need to log out and log back in again, which will cause your new session to have the proper group.


Vladimir Mikhalev

Docker Captain  ·  IBM Champion  ·  AWS Community Builder

The Verdict — production-tested analysis on YouTube.

The Verdict

Inconvenient truths about shipping in the AI era

Container security, platform engineering, and the agentic shift — tested in production, argued without the hype. The verdict reaches your inbox the moment there's one worth sending.

Related Posts

Same category
  1. 1
    Restore Drills on a Clean Machine — Measured RTO for 47 Stacks, 19 Seconds to 7 Minutes
    DevOps & Cloud · Restore drills that measure RTO on a machine that never ran the stack, 47 templates weekly. Every same-host restore passed. The first clean one answered 500.
  2. 2
    Mutation Testing for Infrastructure Code — 153 Planted Bugs, Four Tests That Could Not Fail
    DevOps & Cloud · Mutation testing for infrastructure code, done by hand across fifteen repositories. 153 planted bugs, and four green tests that could never have failed.
  3. 3
    Docker Health Checks That Cannot Fail — Seventeen Hours Green
    DevOps & Cloud · A Docker health check whose pattern matches the shell running it can never go red. How to find the checks in your fleet that never failed, and prove each one.
  4. 4
    Terraform MCP server GA: the Apply Gate your auditor will ask about
    DevOps & Cloud · HashiCorp's Terraform MCP server is GA and IBM Bob can write production IaC. ENABLE_TF_OPERATIONS separates a safe assistant from autonomous apply.

Random Posts

Random
  1. 1
    Install Multicraft on Ubuntu Server
    SysAdmin & IT Pro · Step-by-step guide to installing Multicraft on Ubuntu Server. Set up a secure Minecraft server hosting panel with Apache, MySQL, and Let's Encrypt SSL.
  2. 2
    Infosys Deploys Devin AI Globally — And Your DevOps Career Just Became Legacy Labor
    Opinion & Culture · Infosys deployed Devin AI globally. If you compete on technical execution as a DevOps engineer, you're now Legacy Labor — the blueprint to survive.
  3. 3
    Install Exchange Server 2016 on Windows Server 2012 R2
    SysAdmin & IT Pro · Step-by-step guide to install Exchange Server 2016 on Windows Server 2012 R2, including prerequisites, AD setup, and post-installation configuration.
  4. 4
    Master Container Security in 2025 — Best Practices & Live Demo
    DevOps & Cloud · Master container security in 2025 with proven Docker & Kubernetes best practices. Learn how to automate scans using Docker Scout & Snyk with real demos.
Install Docker Engine and Docker Compose on Ubuntu Server
https://heyvaldemar.com/install-docker-engine-and-docker-compose-on-ubuntu-server/
Author
Vladimir Mikhalev
Published
2022-08-08
Updated
2026-06-11
License
CC BY-NC-SA 4.0