diff --git a/_data/toc.yaml b/_data/toc.yaml index 1d87578e8c..6399b2d763 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -1308,6 +1308,8 @@ manuals: title: SLES - path: /engine/install/ubuntu/ title: Ubuntu + - path: /engine/install/raspbian/ + title: Raspbian - path: /engine/install/binaries/ title: Binaries - path: /engine/install/linux-postinstall/ diff --git a/engine/install/debian.md b/engine/install/debian.md index 0c62456b95..e042886d35 100644 --- a/engine/install/debian.md +++ b/engine/install/debian.md @@ -4,7 +4,6 @@ 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/ @@ -20,17 +19,14 @@ To get started with Docker Engine on Debian, make sure you ### OS requirements -To install Docker Engine, you need the 64-bit version of one of these Debian or -Raspbian versions: +To install Docker Engine, you need the 64-bit version of one of these Debian +versions: - Debian Bookworm 12 (testing) - Debian Bullseye 11 (stable) - Debian Buster 10 (oldstable) -- Raspbian Bookworm 12 (testing) -- Raspbian Bullseye 11 (stable) -- Raspbian Buster 10 (oldstable) -Docker Engine is compatible with x86_64 (or amd64), armhf, and arm64 +Docker Engine for Debian is compatible with x86_64 (or amd64), armhf, and arm64 architectures. ### Uninstall old versions @@ -65,8 +61,7 @@ You can install Docker Engine in different ways, depending on your needs: - [Install it manually](#install-from-a-package) and manage upgrades manually. - Use a [convenience scripts](#install-using-the-convenience-script). Only - recommended for testing and development environments. This is the only - approach available for Raspbian. + recommended for testing and development environments. ### Install using the apt repository {#install-using-the-repository} @@ -74,11 +69,6 @@ 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" %} @@ -110,9 +100,6 @@ Docker from the repository. #### Install Docker Engine -This procedure works for Debian on `x86_64` / `amd64`, `armhf`, `arm64`, and -Raspbian. - 1. Update the `apt` package index: ```console diff --git a/engine/install/index.md b/engine/install/index.md index 608a84f72a..89ca7fe825 100644 --- a/engine/install/index.md +++ b/engine/install/index.md @@ -47,27 +47,27 @@ your preferred operating system below. {% assign yes = '![yes](/assets/images/green-check.svg){: .inline style="height: 14px; margin: 0 auto"}' %} -| Platform | x86_64 / amd64 | arm64 (Apple Silicon) | -|:------------------------------------------------------------------|:------------------------------------------------:|:------------------------------------------------:| -| [Docker Desktop for Linux](../../desktop/install/linux-install.md) | [{{ yes }}](../../desktop/install/linux-install.md) | | -| [Docker Desktop for Mac (macOS)](../../desktop/install/mac-install.md) | [{{ yes }}](../../desktop/install/mac-install.md) | [{{ yes }}](../../desktop/install/mac-install.md) | -| [Docker Desktop for Windows](../../desktop/install/windows-install.md) | [{{ yes }}](../../desktop/install/windows-install.md) | | +| Platform | x86_64 / amd64 | arm64 (Apple Silicon) | +| :--------------------------------------------------------------------- | :---------------------------------------------------: | :-----------------------------------------------: | +| [Docker Desktop for Linux](../../desktop/install/linux-install.md) | [{{ yes }}](../../desktop/install/linux-install.md) | | +| [Docker Desktop for Mac (macOS)](../../desktop/install/mac-install.md) | [{{ yes }}](../../desktop/install/mac-install.md) | [{{ yes }}](../../desktop/install/mac-install.md) | +| [Docker Desktop for Windows](../../desktop/install/windows-install.md) | [{{ yes }}](../../desktop/install/windows-install.md) | | ### Server Docker provides `.deb` and `.rpm` packages from the following Linux distros and architectures: -| Platform | x86_64 / amd64 | arm64 / aarch64 | arm (32-bit) | s390x | -|:------------------------|:-----------------------|:-----------------------|:-----------------------|:-----------------------| -| [CentOS](centos.md) | [{{ yes }}](centos.md) | [{{ yes }}](centos.md) | | | -| [Debian](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | | -| [Fedora](fedora.md) | [{{ yes }}](fedora.md) | [{{ yes }}](fedora.md) | | | -| [Raspbian](debian.md) | | | [{{ yes }}](debian.md) | | -| [RHEL](rhel.md) | | | | [{{ yes }}](rhel.md) | -| [SLES](sles.md) | | | | [{{ yes }}](sles.md) | -| [Ubuntu](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | -| [Binaries](binaries.md) | [{{yes}}](binaries.md) | [{{yes}}](binaries.md) | [{{yes}}](binaries.md) | | +| Platform | x86_64 / amd64 | arm64 / aarch64 | arm (32-bit) | s390x | +| :---------------------- | :--------------------- | :--------------------- | :----------------------- | :--------------------- | +| [CentOS](centos.md) | [{{ yes }}](centos.md) | [{{ yes }}](centos.md) | | | +| [Debian](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | | +| [Fedora](fedora.md) | [{{ yes }}](fedora.md) | [{{ yes }}](fedora.md) | | | +| [Raspbian](debian.md) | | | [{{ yes }}](raspbian.md) | | +| [RHEL](rhel.md) | | | | [{{ yes }}](rhel.md) | +| [SLES](sles.md) | | | | [{{ yes }}](sles.md) | +| [Ubuntu](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | +| [Binaries](binaries.md) | [{{yes}}](binaries.md) | [{{yes}}](binaries.md) | [{{yes}}](binaries.md) | | ### Other Linux distros diff --git a/engine/install/raspbian.md b/engine/install/raspbian.md new file mode 100644 index 0000000000..377dd3e0aa --- /dev/null +++ b/engine/install/raspbian.md @@ -0,0 +1,247 @@ +--- +description: Instructions for installing Docker Engine on Raspbian +keywords: + requirements, apt, installation, raspbian, install, uninstall, upgrade, update +redirect_from: + - /engine/installation/linux/raspbian/ +title: Install Docker Engine on Raspbian +toc_max: 4 +--- + +To get started with Docker Engine on Raspbian, make sure you +[meet the prerequisites](#prerequisites), and then follow the +[installation steps](#installation-methods). + +## Prerequisites + +### OS requirements + +To install Docker Engine, you need the 64-bit version of one of these Raspbian +versions: + +- Raspbian Bookworm 12 (testing) +- Raspbian Bullseye 11 (stable) +- Raspbian Buster 10 (oldstable) + +Docker Engine for Raspbian is compatible with the armhf architecture. + +### Uninstall old versions + +Older versions of Docker went by the names of `docker`, `docker.io`, or +`docker-engine`, you might also have installations of `containerd` or `runc`. +Uninstall any such older versions before attempting to install +a new version: + +```console +$ sudo apt-get remove docker docker-engine docker.io containerd runc +``` + +`apt-get` might report that you have none of these packages 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, read 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. + +- 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. + +- Use a [convenience scripts](#install-using-the-convenience-script). Only + recommended for testing and development environments. + +### Install using the apt repository {#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. + +#### Set up the repository + +{% assign download-url-base = "https://download.docker.com/linux/raspbian" %} + +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 + ``` + +2. Add Docker's official GPG key: + + ```console + $ sudo install -m 0755 -d /etc/apt/keyrings + $ curl -fsSL {{ download-url-base }}/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + $ sudo chmod a+r /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 }} \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + ``` + +#### Install Docker Engine + +1. Update the `apt` package index: + + ```console + $ sudo apt-get update + ``` + +2. Install Docker Engine, containerd, and Docker Compose. + + +
+
+
+ + To install the latest version, run: + + ```console + $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + ``` + +
+
+ + To install a specific version of Docker Engine, start by listing the available + versions in the repository: + + ```console + # List the available versions: + $ apt-cache madison docker-ce | awk '{ print $3 }' + + 5:23.0.5-1~raspbian.11~bullseye + 5:23.0.4-1~raspbian.11~bullseye + <...> + ``` + + Select the desired version and install: + + ```console + $ VERSION_STRING=5:23.0.5-1~raspbian.11~bullseye + $ sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin + ``` + +
+
+
+ +3. Verify that the Docker Engine installation is successful by running the + `hello-world` image: + + ```console + $ sudo docker run hello-world + ``` + + This command downloads a test image and runs it in a container. When the + container runs, it prints a confirmation message and exits. + +You have now successfully installed and started Docker Engine. + +{% include root-errors.md %} + +#### Upgrade Docker Engine + +To upgrade Docker Engine, follow the +[installation instructions](#install-docker-engine), choosing the new version +you want to install. + +### Install from a package + +If you can't use Docker's `apt` repository to install Docker Engine, you can +download the `deb` file for your release and install it manually. You need to +download a new file each time you want to upgrade Docker Engine. + +1. Go to [`{{ download-url-base }}/dists/`]({{ download-url-base }}/dists/){: + target="_blank" rel="noopener" class="_" }. + +2. Select your Raspbian version in the list. + +3. Go to `pool/stable/` and select the applicable architecture (`amd64`, + `armhf`, `arm64`, or `s390x`). + +4. Download the following `deb` files for the Docker Engine, CLI, containerd, + and Docker Compose packages: + + - `containerd.io__.deb` + - `docker-ce__.deb` + - `docker-ce-cli__.deb` + - `docker-buildx-plugin__.deb` + - `docker-compose-plugin__.deb` + +5. Install the `.deb` packages. Update the paths in the following example to + where you downloaded the Docker packages. + + ```console + $ sudo dpkg -i ./containerd.io__.deb \ + ./docker-ce__.deb \ + ./docker-ce-cli__.deb \ + ./docker-buildx-plugin__.deb \ + ./docker-compose-plugin__.deb + ``` + + The Docker daemon starts automatically. + +6. Verify that the Docker Engine installation is successful by running the + `hello-world` image: + + ```console + $ sudo service docker start + $ sudo docker run hello-world + ``` + + This command downloads a test image and runs it in a container. When the + container runs, it prints a confirmation message and exits. + +You have now successfully installed and started Docker Engine. + +{% include root-errors.md %} + +#### Upgrade Docker Engine + +To upgrade Docker Engine, download the newer package files and repeat the +[installation procedure](#install-from-a-package), pointing to the new files. + +{% include install-script.md %} + +## Uninstall Docker Engine + +1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages: + + ```console + $ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras + ``` + +2. Images, containers, volumes, or custom configuration files on your host + aren't automatically removed. To delete all images, containers, and volumes: + + ```console + $ sudo rm -rf /var/lib/docker + $ sudo rm -rf /var/lib/containerd + ``` + +You have to delete any edited configuration files manually. + +## Next steps + +- Continue to [Post-installation steps for Linux](linux-postinstall.md). +- Review the topics in [Develop with Docker](../../develop/index.md) to learn + how to build new applications using Docker.