DockerContainersDocker Compose6 min read

Install Docker and Docker Compose

Install Docker Engine and Docker Compose to run applications in isolated containers.


Docker lets you run applications in isolated containers. This guide covers installation from the official Docker repository for Ubuntu and Debian.

Step 1 — Remove old versions

bash
sudo apt remove docker docker-engine docker.io containerd runc 2>/dev/null

Step 2 — Install prerequisites

bash
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release -y

Step 3 — Add Docker's official GPG key

bash
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

Step 4 — Add the repository

bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Step 5 — Install Docker Engine

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

Step 6 — Verify the installation

bash
sudo docker run hello-world

Step 7 — Run Docker without sudo

bash
sudo usermod -aG docker $USER
newgrp docker

Log out and back in for the change to take effect.

Step 8 — Test Docker Compose

bash
docker compose version

Basic Docker commands

bash
docker ps                    # List running containers
docker ps -a                 # List all containers
docker images                # List images
docker pull nginx            # Download an image
docker run -d -p 80:80 nginx # Run Nginx in background
docker stop <container_id>   # Stop a container
docker rm <container_id>     # Remove a container

Enable Docker on boot

bash
sudo systemctl enable docker
sudo systemctl enable containerd

Tip

For production deployments, use Docker Compose files to define multi-container applications. Store your docker-compose.yml in version control for reproducible deployments on your Baires Host VPS.


Was this guide helpful?