Install Docker Engine and Docker Compose on Ubuntu Server
By Vladimir Mikhalev · Solutions Architect · Docker Captain · IBM Champion
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.
TIPArchitecture 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.
IMPORTANTOpenSSH must be installed on the server, and port 22 must be open in order to be able to connect to the server using the SSH protocol.
To install OpenSSH on a server, you can use the command:
sudo apt install openssh-serverNOTETo connect to the server from a Windows system, you can use tools like PuTTY or MobaXterm.
NOTEThis 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:
curl -fsSL https://get.docker.com -o get-docker.sh
Now let’s start the Docker Engine and Docker Compose installation using the command:
sh get-docker.sh
Now you need to make sure the Docker Engine is installed correctly. To do this, you need to run the command:
docker version
Next, you need to make sure the Docker Compose is installed correctly. To do this, you need to run the command:
docker compose version
Based on the received messages, the Docker Engine and Docker Compose are installed correctly.

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:
sudo usermod -aG docker $USER
To apply changes you need to log out and log back in again, which will cause your new session to have the proper group.
Related Posts
- 1Docker supply chain hardening — from Scout D to OpenSSF 7.8 on a 730K-pull imageDevOps & Cloud · How I hardened a 730K-pull public Docker image from Scout grade D to OpenSSF Scorecard 7.8. Multi-stage build, cosign signing, SLSA provenance, non-root default, and the incident that changed how I ship attestations.
- 2Cloudflare Web Analytics on Astro — Why Removing GA4 Unlocked Lighthouse 100DevOps & Cloud · How removing Google Analytics 4 from an Astro site unlocked Lighthouse 100, why Cloudflare Web Analytics replaced it, and what the tradeoffs actually cost.
- 3Platform Engineering — The Complete, Practical Guide to Building Internal Developer Platforms That ScaleDevOps & Cloud · A deep, practical guide to Platform Engineering. Learn how to build internal developer platforms, golden paths, GitOps workflows, and scalable cloud foundations.
- 4Amazon Q vs DevOps Chaos — Can This AI Fix AWS Faster Than You?DevOps & Cloud · Fix AWS issues faster with Amazon Q, the AI assistant built for DevOps. Real-world examples, limitations, and how it compares to ChatGPT.
Random Posts
- 1Infosys Deploys Devin AI Globally — And Your DevOps Career Just Became Legacy LaborOpinion & Culture · Infosys just deployed Devin AI globally. If you are a DevOps engineer competing on technical execution, you are now "Legacy Labor". Here is the blueprint to survive.
- 2Vladimir Mikhalev Recognized by Docker CEOOpinion & Culture · Docker CEO, Scott Johnston, recognizes the extraordinary leadership and contributions of Vladimir Mikhalev.
- 3Configure Exchange Server 2019SysAdmin & IT Pro · Learn how to configure Exchange Server 2019 with step-by-step instructions for mailbox databases, DNS records, certificates, send connectors, and more.
- 4Install ownCloud Using Docker ComposeSelf-Hosting · Learn how to install ownCloud with Docker Compose on Ubuntu using Traefik and Let's Encrypt. Secure, scalable file storage and sharing for your server.