Skip to content

Docker Setup

Docker lets you run applications in isolated containers. This guide covers installing Docker Engine on a Debian/Ubuntu server and getting a first container running.

  • A Debian 12 or Ubuntu 22.04+ server
  • A user with sudo privileges
  • Internet access

Remove any old Docker packages first:

Terminal window
sudo apt remove docker docker-engine docker.io containerd runc

Install dependencies and add Docker’s official repository:

Terminal window
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/debian/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/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Install Docker Engine:

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

Add your user to the docker group so you can run Docker without sudo:

Terminal window
sudo usermod -aG docker $USER
newgrp docker

Enable Docker to start on boot:

Terminal window
sudo systemctl enable docker
sudo systemctl start docker
Terminal window
docker run hello-world

You should see a confirmation message that Docker is working correctly.

CommandDescription
docker psList running containers
docker ps -aList all containers
docker imagesList downloaded images
docker stop <id>Stop a container
docker rm <id>Remove a container
docker rmi <image>Remove an image
docker compose up -dStart services from compose.yml
docker compose downStop and remove services
Terminal window
sudo apt update && sudo apt upgrade docker-ce docker-ce-cli containerd.io