---
description: Learn how to install Docker Engine on CentOS. These instructions cover
the different installation methods, how to uninstall, and next steps.
keywords: requirements, dnf, yum, installation, centos, install, uninstall, docker engine, upgrade, update
title: Install Docker Engine on CentOS
linkTitle: CentOS
weight: 60
toc_max: 4
aliases:
- /ee/docker-ee/centos/
- /engine/installation/centos/
- /engine/installation/linux/centos/
- /engine/installation/linux/docker-ce/centos/
- /engine/installation/linux/docker-ee/centos/
- /install/linux/centos/
- /install/linux/docker-ce/centos/
- /install/linux/docker-ee/centos/
download-url-base: https://download.docker.com/linux/centos
---
To get started with Docker Engine on CentOS, make sure you
[meet the prerequisites](#prerequisites), and then follow the
[installation steps](#installation-methods).
## Prerequisites
### OS requirements
To install Docker Engine, you need a maintained version of one of the following
CentOS versions:
- CentOS 9 (stream)
The `centos-extras` repository must be enabled. This repository is enabled by
default. If you have disabled it, you need to re-enable it.
### Uninstall old versions
Before you can install Docker Engine, you need to uninstall any conflicting packages.
Your Linux distribution may provide unofficial Docker packages, which may conflict
with the official packages provided by Docker. You must uninstall these packages
before you install the official version of Docker Engine.
```console
$ sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
```
`dnf` 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.
## Installation methods
You can install Docker Engine in different ways, depending on your needs:
- You can
[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
Install the `dnf-plugins-core` package (which provides the commands to manage
your DNF repositories) and set up the repository.
```console
$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager --add-repo {{% 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 dnf 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
$ dnf list docker-ce --showduplicates | sort -r