--- description: Instructions for installing Docker Engine on Debian keywords: requirements, apt, installation, debian, install, uninstall, upgrade, update redirect_from: - /engine/installation/debian/ - /engine/installation/linux/raspbian/ - /engine/installation/linux/debian/ - /engine/installation/linux/docker-ce/debian/ - /install/linux/docker-ce/debian/ title: Install Docker Engine on Debian toc_max: 4 --- To get started with Docker Engine on Debian, make sure you [meet the prerequisites](#prerequisites), then [install Docker](#installation-methods). ## Prerequisites ### OS requirements To install Docker Engine, you need the 64-bit version of one of these Debian or Raspbian versions: - Debian Bullseye 11 (stable) - Debian Buster 10 (oldstable) - Raspbian Bullseye 11 (stable) - Raspbian Buster 10 (oldstable) Docker Engine is compatible with `x86_64` (or `amd64`), `armhf`, and `arm64` architectures. ### Uninstall old versions Older versions of Docker went by the names of `docker`, `docker.io`, or `docker-engine`. Uninstall any such older versions before attempting to install a new version: ```console $ sudo apt-get remove docker docker-engine docker.io containerd runc ``` It's OK if `apt-get` reports that none of these packages are installed. Images, containers, volumes, and networks stored in `/var/lib/docker/` aren't automatically removed when you uninstall Docker. If you want to start with a clean installation, and prefer to clean up any existing data, refer to the [uninstall Docker Engine](#uninstall-docker-engine) section. ## Installation methods You can install Docker Engine in different ways, depending on your needs: - Docker Engine comes bundled with [Docker Desktop for Linux](../../desktop/install/linux-install.md). This is the easiest and quickest way to get started. - You can also set up and install Docker Engine from [Docker's `apt` repository](#install-using-the-repository). - [Install it manually](#install-from-a-package) and manage upgrades manually. - Using a [convenience scripts](#install-using-the-convenience-script). Only recommended for testing and development environments. This is the only approach available for Raspbian. ### Install using the repository Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository. > **Raspbian users can't use this method.** > > For Raspbian, installing using the repository isn't yet supported. You must > instead use the [convenience script](#install-using-the-convenience-script). #### Set up the repository {% assign download-url-base = "https://download.docker.com/linux/debian" %} 1. Update the `apt` package index and install packages to allow `apt` to use a repository over HTTPS: ```console $ sudo apt-get update $ sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release ``` 2. Add Docker's official GPG key: ```console $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL {{ download-url-base }}/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg ``` 3. Use the following command to set up the repository: ```console $ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] {{ download-url-base }} \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` #### Install Docker Engine This procedure works for Debian on `x86_64` / `amd64`, `armhf`, `arm64`, and Raspbian. 1. Update the `apt` package index: ```console $ sudo apt-get update ``` > Receiving a GPG error when running `apt-get update`? > > Your default [umask](https://en.wikipedia.org/wiki/Umask){: target="blank" > rel="noopener" } may be incorrectly configured, preventing detection of the > repository public key file. Try granting read permission for the Docker > public key file before updating the package index: > > ```console > $ sudo chmod a+r /etc/apt/keyrings/docker.gpg > $ sudo apt-get update > ``` 2. Install Docker Engine, containerd, and Docker Compose.