[set up Docker's repositories](#install-using-the-repository) and install
from them, for ease of installation and upgrade tasks. This is the
recommended approach.
- You can download the RPM package,
[install it manually](#install-from-a-package), and manage
upgrades completely manually. This is useful in situations such as installing
Docker on air-gapped systems with no access to the internet.
- In testing and development environments, you can use automated
[convenience scripts](#install-using-the-convenience-script) to install Docker.
### Install using the rpm 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
Set up the repository.
```console
$ sudo zypper addrepo {{% param "download-url-base" %}}/docker-ce.repo
```
#### Install Docker Engine
1. Install the Docker packages.
{{< tabs >}}
{{< tab name="Latest" >}}
To install the latest version, run:
```console
$ sudo zypper install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
If prompted to accept the GPG key, verify that the fingerprint matches
`060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35`, and if so, accept it.
This command installs Docker, but it doesn't start Docker. It also creates a
`docker` group, however, it doesn't add any users to the group by default.
{{< /tab >}}
{{< tab name="Specific version" >}}
To install a specific version, start by listing the available versions in
the repository:
```console
$ sudo zypper search -s --match-exact docker-ce | sort -r
v | docker-ce | package | 3:{{% param "docker_ce_version" %}}-1 | s390x | Docker CE Stable - s390x
v | docker-ce | package | 3:{{% param "docker_ce_version_prev" %}}-1 | s390x | Docker CE Stable - s390x
```
The list returned depends on which repositories are enabled, and is specific
to your version of SLES.
Install a specific version by its fully qualified package name, which is
the package name (`docker-ce`) plus the version string (2nd column),
separated by a hyphen (`-`). For example, `docker-ce-3:{{% param "docker_ce_version" %}}`.
Replace `<VERSION_STRING>` with the desired version and then run the following
command to install:
```console
$ sudo zypper install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
```
This command installs Docker, but it doesn't start Docker. It also creates a
`docker` group, however, it doesn't add any users to the group by default.
{{< /tab >}}
{{< /tabs >}}
2. Start Docker Engine.
```console
$ sudo systemctl enable --now docker
```
This configures the Docker systemd service to start automatically when you
boot your system. If you don't want Docker to start automatically, use `sudo