How To Install Docker CE on RHEL 7 Linux

Posted on 200 views

The steps shared here are for the installation of Docker CE on RHEL 7 Linux. Docker is the main dominant container runtime engine used for Development and running of micro-serviced applications in production. There are two editions of Docker available for installation on a RHEL 7 Desktop / Linux machine.

  • Docker Community Edition ( Docker CE)
  • Docker Enterprise Edition ( Docker EE)

This guide is for installation of the Docker Community Edition on RHEL 7. If you have interest in Docker Enterprise Edition, check its features and the key differences from Community edition.

So let’s install Docker CE on RHEL 7 Linux system.

Step 1: Register your RHEL 7 server

Start by registering your RHEL 7 server with Red Hat Subscription Management or Satellite server.

sudo subscription-manager register --auto-attach

You’ll be prompted to provide your Red Hat portal username and password.

Step 2: Enable required repositories

You need to enable the following repositories to install Docker Community Edition on RHEL 7. They contain a number of dependencies required to run Docker.

sudo subscription-manager repos --enable=rhel-7-server-rpms \
  --enable=rhel-7-server-extras-rpms \

Step 3: Install Docker CE on RHEL 7 Linux

Install required packages before adding the Docker CE Yum repository.

sudo yum install -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Add stable Docker CE repository to your RHEL 7 system.

 sudo yum-config-manager --add-repo

Finally install latest release of Docker CE on RHEL 7 with the latest and containerd.

sudo yum install docker-ce docker-ce-cli

If you want to view all versions of Docker available, use:

$ sudo yum list docker-ce --showduplicates | sort -r

Step 4: Start and enable Docker service

Now start and enable Docker service to start at boot.

sudo systemctl enable --now docker.service

Check docker version:

$ docker version
Client: Docker Engine - Community
 Version:           20.10.13
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        a224086
 Built:             Thu Mar 10 14:09:51 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
  Version:          20.10.13
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       906f57f
  Built:            Thu Mar 10 14:08:16 2022
  OS/Arch:          linux/amd64
  Experimental:     false
  Version:          1.5.10
  GitCommit:        2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc
  Version:          1.0.3
  GitCommit:        v1.0.3-0-gf46b6ba
  Version:          0.19.0
  GitCommit:        de40ad0

Step 5: Set insecure registries / Block registries

If you have local Docker registries without SSL encryption for access, you may need to whitelist them.

$ sudo vim /etc/containers/registries.conf
registries = ["",""]

To block access to a registry, add the registry URL under registries.block section.

registries = ['']

Restart docker service if you make a change to the configuration file.

sudo systemctl restart docker

Test Docker installation on RHEL 7.

$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:

For more examples and ideas, visit:



Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.