Skip to content

Debian or Ubuntu

Install Docker Engine from Docker's official package repository, then return to the Bearicorn quick start.

Before you begin

Use a 64-bit release currently listed by Docker for Debian or Ubuntu. The upstream pages are the source of truth for supported OS versions and conflicting packages.

Firewall behavior

Published Docker ports can bypass rules managed only by UFW. On a cloud VM, use the provider's network firewall as the primary ingress control. Docker explains the behavior in its firewall documentation.

Install Docker

Debian

bash
sudo apt update
sudo apt install -y ca-certificates curl git openssl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

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

Ubuntu

bash
sudo apt update
sudo apt install -y ca-certificates curl git openssl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

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

Allow your operator account to use Docker

bash
sudo usermod -aG docker "$USER"

Log out and back in, then verify:

bash
docker version
docker compose version
docker run --rm hello-world

INFO

Skip the Docker-group step if your security policy requires operators to run every Docker command with sudo.

Next step

Return to the quick start.

Self-hosted chat and tasks with end-to-end encrypted content.