Replace `<VERSION_STRING>` with the desired version and then run the following
command to install:
```console
$ sudo dnf 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
systemctl start docker` instead.
3. Verify that the 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-using-the-repository),
choosing the new version you want to install.
### Install from a package
If you can't use Docker's `rpm` repository to install Docker Engine, you can
download the `.rpm` file for your release and install it manually. You need to
download a new file each time you want to upgrade Docker Engine.
<!-- markdownlint-disable-next-line -->
1. Go to [{{% param "download-url-base" %}}/]({{% param "download-url-base" %}}/)
and choose your version of CentOS. Then browse to `x86_64/stable/Packages/`
and download the `.rpm` file for the Docker version you want to install.
2. Install Docker Engine, changing the following path to the path where you downloaded
the Docker package.
```console
$ sudo dnf install /path/to/package.rpm
```
Docker is installed but not started. The `docker` group is created, but no
users are added to the group.
3. 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
systemctl start docker` instead.
4. Verify that the 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, download the newer package files and repeat the
[installation procedure](#install-from-a-package), using `dnf upgrade`
instead of `dnf install`, and point to the new files.
{{% include "install-script.md" %}}
## Uninstall Docker Engine
1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages:
```console
$ sudo dnf remove 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).