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 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.
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
- 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
- 1Install Windows Server 2019SysAdmin & IT Pro · Step-by-step guide to install Windows Server 2019 with Desktop Experience. Learn how to set up a secure and stable Windows Server environment from scratch..
- 2Install Confluence Using Docker ComposeSelf-Hosting · Learn how to install Confluence using Docker Compose with Traefik and Let's Encrypt. Step-by-step setup for secure, self-hosted Atlassian documentation.
- 3Install Windows Server 2012 R2SysAdmin & IT Pro · Step-by-step guide to install Windows Server 2012 R2 using official media with a GUI setup. Get a clean, secure server installation.
- 4Install OpenJDK on Ubuntu ServerSysAdmin & IT Pro · Step-by-step guide to installing OpenJDK on Ubuntu Server. Learn how to configure Java, set JAVA_HOME, and verify your environment for Java development.