Install Docker on AlmaLinux

Docker is a tool that is used to run software in a container. It’s a great way for developers and users to worry less about compatibility with an operating system and dependencies because the contained software should run identically on any system.

If you’ve recently installed AlmaLinux or migrated from CentOS to AlmaLinux, you may be wondering how to get Docker up and running on the system. Unfortunately, Red Hat Enterprise Linux doesn’t offer native support for Docker, and neither does AlmaLinux, since it is a fork of RHEL. Instead, Red Hat pushes support for Podman, an alternative to Docker. This makes Docker a bit harder to install, but it’s still possible on AlmaLinux.

In this guide, we’ll show you how to install Docker on AlmaLinux and get started with installing containerized software. After Docker is installed, you can use it to install software packages much the same way you would use your distro’s package manager to download an app. The difference of using Docker is that everything is more automated, with compatibility and dependencies no longer being potential issues.

In this tutorial you will learn:

  • How to install Docker
  • How to run Docker without root
  • How to search for a Docker image
  • How to install a Docker image
  • How to run a Docker image
  • How to monitor Docker with various commands
Docker running a container image on AlmaLinux

Docker running a container image on AlmaLinux

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System AlmaLinux
Software Docker
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

Install Docker on AlmaLinux



Red Hat has put a few obstacles in our way, so we can’t just install Docker with a simple dnf install command. We’ll need to add the Docker repository to our system first, and then uninstall a few conflicting packages that are installed by default on AlmaLinux.

At the time of this writing, the closest thing we have to a Docker repository for AlmaLinux is the one made for CentOS. We can add the Docker repository to our system with the following command.

$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Before we begin installing Docker, we need to remove the podman and buildah packages from our system, as they conflict with Docker and will inhibit it from being installed.

$ sudo dnf remove podman buildah

Finally, we can install the three Docker packages we’ll need by executing the following command.

$ sudo dnf install docker-ce docker-ce-cli containerd.io

Once installation is completed, start the Docker service and, optionally, enable it to run whenever the system is rebooted:

$ sudo systemctl start docker.service
$ sudo systemctl enable docker.service

You can verify that Docker is installed and gather some information about the current version by entering this command:

$ sudo docker version
Output of docker version command

Output of docker version command



There is also a quick and easy way to see how many Docker containers are currently running and see some of Docker’s configured options by entering:

$ sudo docker info
Output of docker info command showing its configuration

Output of docker info command showing its configuration

Run Docker without root

By default, you’ll have to use sudo or login to root anytime you want to run a Docker command. This next step is optional, but if you’d prefer the ability to run Docker as your current user, add your account to the docker group with this command:

$ sudo usermod -aG docker $USER

You’ll need to reboot your system for those changes to take effect.

$ reboot

Searching for a Docker image

Now you’re ready to install images with Docker. If you already know the name of an image that you’d like to install, you can move on to the next section. If you need to search through Docker for the desired software, you can use the following command syntax:

$ docker search [name]

For example, let’s try searching for nginx, which is popular web server software.

$ docker search nginx


Docker can search for any available container images

Docker can search for any available container images

As you can see, there is one official image for nginx (indicated by the OFFICIAL column) simply called nginx. There are also other releases available, and you would have to read their descriptions to see what they do differently from the official image.

Install a Docker image

Once you know which image you’d like to install, you can use the following command to instruct Docker to download the desired software. Just as an example, we’ll install the hello-world package which can be used to make sure that Docker is able to download and run images successfully.

$ docker pull hello-world
Docker downloading a container image

Docker downloading a container image



The output in the screenshot above indicates that Docker was able to find and download the image we specified.

Running a Docker image

Now that the image is downloaded, run it with the following command:

$ docker run hello-world
Docker was able to run the hello-world image successfully

Docker was able to run the hello-world image successfully

Monitoring Docker

Docker gives us a lot of options to see what’s going on with our images, how many system resources they’re using, etc. The following commands come in handy for monitoring Docker and our installed images.

To see which Docker containers are running and check their current status, type:

$ docker container ls
The docker container ls command shows currently running containers

The docker container ls command shows currently running containers



To see a list of all the Docker images installed, type:

$ docker images
The docker images command shows which images are currently installed in Docker

The docker images command shows which images are currently installed in Docker

To see the current CPU, RAM, and network usage of running images, type:

$ docker stats
See the current system usage of Docker images with docker stats command

See the current system usage of Docker images with docker stats command



To see Docker’s network configuration, type:

$ docker network ls
See currently configured networks in Docker with docker network ls

See currently configured networks in Docker with docker network ls

Closing Thoughts

Although RHEL, and by extension AlmaLinux, doesn’t support Docker natively, it’s still possible to get it up and running, as we’ve seen in this guide. RHEL native tools like podman and buildah are compatible with Docker but don’t need a server/client architecture to run. Using native tools, where possible, is always the recommended way to go, but for one reason or another you may still want to install the original Docker.

To see more about running Docker on AlmaLinux (and RHEL), including installation of docker-compose, head over to our other guide about how to install Docker in RHEL 8.