What this is
Docker runs applications in containers. Docker Compose helps you run multi-container apps using a YAML file.
What it is for
- Deploy apps consistently
- Run services like databases, caches, web apps
Prerequisites
- SSH + sudo
- 64-bit Linux VPS
Step-by-step
Ubuntu/Debian (recommended official method)
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
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
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Start and enable Docker
sudo systemctl enable --now docker
Verify Docker works
docker --version
docker compose version
sudo docker run --rm hello-world
(Optional) Run docker without sudo (recommended)
sudo usermod -aG docker $USER
newgrp docker
Warning: Docker group has root-like privileges. Use only for trusted users.
Conclusion
Docker and Docker Compose are installed and verified. Next step: deploy your first compose stack.