8.1 KiB
description | keywords | redirect_from | title | toc_max | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn how to install Docker Engine on CentOS. These instructions cover the different installation methods, how to uninstall, and next steps. | install docker centos, centos install docker, docker install centos, yum install docker, install docker centos 7, install docker centos 8, centos docker-ce |
|
Install Docker Engine on CentOS | 4 |
To get started with Docker Engine on CentOS, make sure you meet the prerequisites, and then follow the installation steps.
Prerequisites
OS requirements
To install Docker Engine, you need a maintained version of one of the following CentOS versions:
- CentOS 7
- CentOS 8 (stream)
- CentOS 9 (stream)
The centos-extras
repository must be enabled. This repository is enabled by
default, but if you have disabled it, you need to
re-enable it{: target="blank" rel="noopener" class="" }.
Uninstall old versions
Older versions of Docker went by the names of docker
or docker-engine
.
Uninstall any such older versions before attempting to install a new version,
along with associated dependencies.
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum
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 and install from them, for ease of installation and upgrade tasks. This is the recommended approach.
-
You can download the RPM package and install it manually 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 to install Docker.
Install using the rpm 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/centos" %}
Install the yum-utils
package (which provides the yum-config-manager
utility) and set up the repository.
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo {{ download-url-base }}/docker-ce.repo
Install Docker Engine
-
Install Docker Engine, containerd, and Docker Compose:
- Latest
- Specific version
To install the latest version, run:
$ sudo yum 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.To install a specific version, start by listing the available versions in the repository:
$ yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:24.0.0-1.el8 docker-ce-stable docker-ce.x86_64 3:23.0.6-1.el8 docker-ce-stable <...>
The list returned depends on which repositories are enabled, and is specific to your version of CentOS (indicated by the
.el8
suffix in this example).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:24.0.0-1.el8
.Replace
<VERSION_STRING>
with the desired version and then run the following command to install:$ sudo yum 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.
-
Start Docker.
$ sudo systemctl start docker
-
Verify that the Docker Engine installation is successful by running the
hello-world
image.$ 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, 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.
-
Go to [{{ download-url-base }}/]({{ download-url-base }}/){: target="blank" rel="noopener" class="" } 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. -
Install Docker Engine, changing the path below to the path where you downloaded the Docker package.
$ sudo yum install /path/to/package.rpm
Docker is installed but not started. The
docker
group is created, but no users are added to the group. -
Start Docker.
$ sudo systemctl start docker
-
Verify that the Docker Engine installation is successful by running the
hello-world
image.$ 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, using yum -y upgrade
instead of yum -y install
, and point to the new files.
{% include install-script.md %}
Uninstall Docker Engine
-
Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages:
$ sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
-
Images, containers, volumes, or custom configuration files on your host aren't automatically removed. To delete all images, containers, and volumes:
$ 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.
- Review the topics in Develop with Docker to learn how to build new applications using Docker.