engine: add installation instruction for raspbian using apt

Signed-off-by: David Karlsson <david.karlsson@docker.com>
This commit is contained in:
David Karlsson 2023-05-11 09:18:05 +02:00
parent 647fe00746
commit fa2ede1116
4 changed files with 268 additions and 32 deletions

View File

@ -1308,6 +1308,8 @@ manuals:
title: SLES title: SLES
- path: /engine/install/ubuntu/ - path: /engine/install/ubuntu/
title: Ubuntu title: Ubuntu
- path: /engine/install/raspbian/
title: Raspbian
- path: /engine/install/binaries/ - path: /engine/install/binaries/
title: Binaries title: Binaries
- path: /engine/install/linux-postinstall/ - path: /engine/install/linux-postinstall/

View File

@ -4,7 +4,6 @@ keywords:
requirements, apt, installation, debian, install, uninstall, upgrade, update requirements, apt, installation, debian, install, uninstall, upgrade, update
redirect_from: redirect_from:
- /engine/installation/debian/ - /engine/installation/debian/
- /engine/installation/linux/raspbian/
- /engine/installation/linux/debian/ - /engine/installation/linux/debian/
- /engine/installation/linux/docker-ce/debian/ - /engine/installation/linux/docker-ce/debian/
- /install/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 ### OS requirements
To install Docker Engine, you need the 64-bit version of one of these Debian or To install Docker Engine, you need the 64-bit version of one of these Debian
Raspbian versions: versions:
- Debian Bookworm 12 (testing) - Debian Bookworm 12 (testing)
- Debian Bullseye 11 (stable) - Debian Bullseye 11 (stable)
- Debian Buster 10 (oldstable) - 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. architectures.
### Uninstall old versions ### 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. - [Install it manually](#install-from-a-package) and manage upgrades manually.
- Use a [convenience scripts](#install-using-the-convenience-script). Only - Use a [convenience scripts](#install-using-the-convenience-script). Only
recommended for testing and development environments. This is the only recommended for testing and development environments.
approach available for Raspbian.
### Install using the apt repository {#install-using-the-repository} ### 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 need to set up the Docker repository. Afterward, you can install and update
Docker from the repository. 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 #### Set up the repository
{% assign download-url-base = "https://download.docker.com/linux/debian" %} {% assign download-url-base = "https://download.docker.com/linux/debian" %}
@ -110,9 +100,6 @@ Docker from the repository.
#### Install Docker Engine #### Install Docker Engine
This procedure works for Debian on `x86_64` / `amd64`, `armhf`, `arm64`, and
Raspbian.
1. Update the `apt` package index: 1. Update the `apt` package index:
```console ```console

View File

@ -48,7 +48,7 @@ your preferred operating system below.
{% assign yes = '![yes](/assets/images/green-check.svg){: .inline style="height: 14px; margin: 0 auto"}' %} {% assign yes = '![yes](/assets/images/green-check.svg){: .inline style="height: 14px; margin: 0 auto"}' %}
| Platform | x86_64 / amd64 | arm64 (Apple Silicon) | | 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 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 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) | | | [Docker Desktop for Windows](../../desktop/install/windows-install.md) | [{{ yes }}](../../desktop/install/windows-install.md) | |
@ -59,11 +59,11 @@ Docker provides `.deb` and `.rpm` packages from the following Linux distros
and architectures: and architectures:
| Platform | x86_64 / amd64 | arm64 / aarch64 | arm (32-bit) | s390x | | Platform | x86_64 / amd64 | arm64 / aarch64 | arm (32-bit) | s390x |
|:------------------------|:-----------------------|:-----------------------|:-----------------------|:-----------------------| | :---------------------- | :--------------------- | :--------------------- | :----------------------- | :--------------------- |
| [CentOS](centos.md) | [{{ yes }}](centos.md) | [{{ yes }}](centos.md) | | | | [CentOS](centos.md) | [{{ yes }}](centos.md) | [{{ yes }}](centos.md) | | |
| [Debian](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | | | [Debian](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | [{{ yes }}](debian.md) | |
| [Fedora](fedora.md) | [{{ yes }}](fedora.md) | [{{ yes }}](fedora.md) | | | | [Fedora](fedora.md) | [{{ yes }}](fedora.md) | [{{ yes }}](fedora.md) | | |
| [Raspbian](debian.md) | | | [{{ yes }}](debian.md) | | | [Raspbian](debian.md) | | | [{{ yes }}](raspbian.md) | |
| [RHEL](rhel.md) | | | | [{{ yes }}](rhel.md) | | [RHEL](rhel.md) | | | | [{{ yes }}](rhel.md) |
| [SLES](sles.md) | | | | [{{ yes }}](sles.md) | | [SLES](sles.md) | | | | [{{ yes }}](sles.md) |
| [Ubuntu](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | | [Ubuntu](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) | [{{ yes }}](ubuntu.md) |

247
engine/install/raspbian.md Normal file
View File

@ -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.
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" data-target="#tab-latest">Latest</a></li>
<li><a data-toggle="tab" data-target="#tab-version">Specific version</a></li>
</ul>
<div class="tab-content">
<br>
<div id="tab-latest" class="tab-pane fade in active" markdown="1">
To install the latest version, run:
```console
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
</div>
<div id="tab-version" class="tab-pane fade" markdown="1">
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
```
</div>
<hr>
</div>
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_<version>_<arch>.deb`
- `docker-ce_<version>_<arch>.deb`
- `docker-ce-cli_<version>_<arch>.deb`
- `docker-buildx-plugin_<version>_<arch>.deb`
- `docker-compose-plugin_<version>_<arch>.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_<version>_<arch>.deb \
./docker-ce_<version>_<arch>.deb \
./docker-ce-cli_<version>_<arch>.deb \
./docker-buildx-plugin_<version>_<arch>.deb \
./docker-compose-plugin_<version>_<arch>.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.