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-pluginUbuntu
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-pluginAllow 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-worldINFO
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.