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
|Category||Requirements, Conventions or Software Version Used|
|Other||Privileged access to your Linux system as root or via the |
|Conventions|| # - requires given linux commands to be executed with root privileges either directly as a root user or by use of |
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
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
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
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.
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
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
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 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
To see a list of all the Docker images installed, type:
$ docker images
$ docker stats
To see Docker's network configuration, type:
$ docker network ls
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
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.