Discover how to seamlessly install Docker on Rocky Linux 9 with our step-by-step guide. Dive into the world of containerization and streamline your application deployment process with this comprehensive tutorial tailored for efficient integration on your Linux environment. #centlinux #linux #docker
Table of Contents
What is Docker?
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. The service has both free and premium tiers. The software that hosts the containers is called Docker Engine. It was first started in 2013 and is developed by Docker, Inc. (Source: Wikipedia)
Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. Because all of the containers share the services of a single operating system kernel, they use fewer resources than virtual machines.
Docker can package an application and its dependencies in a virtual container that can run on any Linux, Windows, or macOS computer. This enables the application to run in a variety of locations, such as on-premises, in public (see decentralized computing, distributed computing, and cloud computing) or private cloud. When running on Linux, Docker uses the resource isolation features of the Linux kernel (such as cgroups and kernel namespaces) and a union-capable file system (such as OverlayFS) to allow containers to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines. Docker on macOS uses a Linux virtual machine to run the containers.

What is a Docker Container?
A Docker container is a lightweight, standalone, and executable package that contains everything needed to run a piece of software, including code, runtime, system tools, system libraries, and settings. Containers are isolated environments that run on top of a host operating system’s kernel and share the host OS’s resources, such as CPU, memory, and storage.
Here are some key characteristics of Docker containers:
- Isolation: Containers provide process isolation, allowing multiple containers to run on the same host without interfering with each other. Each container has its own filesystem, network stack, and process space, ensuring that applications and their dependencies are isolated from one another.
- Portability: Docker containers are highly portable and can be deployed across different environments, including development, testing, staging, and production, with minimal changes. Containers encapsulate all dependencies and configurations, making them easy to move between environments without worrying about compatibility issues.
- Efficiency: Containers are lightweight and efficient, consuming fewer resources compared to traditional virtual machines (VMs). Containers share the host OS’s kernel and only contain the necessary components to run a specific application, resulting in faster startup times and reduced overhead.
- Reproducibility: Docker containers provide a consistent and reproducible environment for running applications. Developers can package their applications and dependencies into containers, ensuring that the environment remains consistent across different deployments and environments.
- Scalability: Docker containers are highly scalable and can be easily scaled up or down to meet changing workload demands. Containers can be orchestrated and managed using container orchestration platforms like Docker Swarm or Kubernetes, allowing for automated deployment, scaling, and management of containerized applications.
Overall, Docker containers provide a convenient and efficient way to package, distribute, and run software applications, offering benefits such as isolation, portability, efficiency, reproducibility, and scalability. They have become a popular choice for modern application development and deployment, enabling developers to build and deploy applications faster and more reliably across diverse environments.
Recommended Training: Docker Mastery: with Kubernetes +Swarm from a Docker Captain

What is a Docker Image?
A Docker image is a lightweight, standalone, and executable package that contains everything needed to run a Docker container. It serves as a template for creating Docker containers, encapsulating all the necessary dependencies, configurations, and files required to run a specific application or service.
Here are some key characteristics of Docker images:
- Immutable: Docker images are immutable, meaning they are read-only and cannot be modified once created. Any changes to the image result in the creation of a new image layer, preserving the integrity of the original image.
- Layered Filesystem: Docker images are built using a layered filesystem, where each layer represents a set of changes to the filesystem. Layers are stacked on top of each other to form the complete image. This allows for efficient storage and sharing of image layers, as well as faster image building and deployment.
- Reusability: Docker images are designed for reusability, allowing developers to create and share standardized images for common software components or services. Images can be stored in public or private registries, such as Docker Hub or a private registry, and reused across different projects and environments.
- Versioning: Docker images can be versioned using tags, allowing developers to track different versions of an image. Tags typically represent different versions of the software or configurations contained within the image, making it easy to reference and deploy specific versions of an image.
- Layer Cache: Docker images leverage layer caching during the build process, which speeds up subsequent builds by reusing previously built layers. This helps reduce build times and improves developer productivity.
Overall, Docker images serve as the building blocks for creating Docker containers, providing a standardized and portable way to package and distribute software applications and services. They enable developers to build, share, and deploy applications more efficiently and reliably in containerized environments.
Environment Specification
We are using a minimal Rocky Linux 9 virtual machine with following specifications.
- CPU – 3.4 Ghz (2 cores)
- Memory – 2 GB
- Storage – 20 GB
- Operating System – Rocky Linux release 9.0 (Blue Onyx)
- Hostname – docker-01.centlinux.com
- IP Address – 192.168.116.131/24
TP-Link AX1800 WiFi 6 Router V4 (Archer AX21) – Dual Band Wireless Internet, Gigabit, Easy Mesh, Works with Alexa – A Certified for Humans Device
$69.99 (as of May 30, 2025 17:33 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Prepare your Docker Host
By using a ssh client, login to your Rocky Linux server as root user.
Set a FQDN (Fully Qualified Domain Name) hostname for your Docker Host machine.
hostnamectl set-hostname docker-01.centlinux.com
Refresh your cache for enabled yum repositories.
dnf makecache --refresh
Execute following dnf command to update software packages in your Docker Server.
dnf update -y
The above may updates the software packages related to Linux Kernel. In such case, you should reboot your Linux operating system with latest Linux Kernel before installing Docker CE software.
reboot
After reboot, Check the versions of Linux Kernel and Operating System.
cat /etc/rocky-release
uname -r
Output:
Rocky Linux release 9.0 (Blue Onyx)
5.14.0-70.30.1.el9_0.x86_64
Install Docker Yum Repository
Community’s most favorite containerization software is available via Docker’s Official Yum Repository.
Execute following command to download and install Docker Yum repository on your Rocky Linux server.
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
You have added a new yum repository, therefore, rebuild your yum cache again.
dnf makecache
Install Docker on Rocky Linux 9
You have added Docker yum repository in your Linux server. Now you can easily install Docker on Linux by using dnf command.
dnf install -y docker-ce
Enable and start Docker service.
systemctl enable --now docker.service
Check the status of Docker service for any errors.
systemctl status docker.service
Output:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor pr>
Active: active (running) since Sun 2022-11-06 04:00:18 CST; 11s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 2728 (dockerd)
Tasks: 9
Memory: 28.3M
CPU: 450ms
CGroup: /system.slice/docker.service
└─2728 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont>
Nov 06 04:00:18 docker-01.centlinux.com dockerd[2728]: time="2022-11-06T04:00:1>
Nov 06 04:00:18 docker-01.centlinux.com systemd[1]: Started Docker Application >
Verify that the Docker command is working fine by querying the version of you Containerization software.
docker version
Output:
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.18.7
Git commit: baeda1f
Built: Tue Oct 25 18:02:16 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.21
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 3056208
Built: Tue Oct 25 18:00:01 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.9
GitCommit: 1c90a442489720eec95342e1789ee8a5e1b9536f
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Linux All-In-One For Dummies (For Dummies (Computer/Tech))
$27.02 (as of May 30, 2025 17:35 GMT +00:00 – More infoProduct prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.)Examples of Docker Command Usage
Search Docker Hub for Alpine Linux images, you can use the –filter switch to list only Official images.
docker search alpine --filter is-official=true
Output:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
alpine A minimal Docker image based on Alpine Linux… 0 [OK]
Pull Alpine Linux image from Docker Hub.
docker pull alpine
Output:
Using default tag: latest
latest: Pulling from library/alpine
213ec9aee27d: Pull complete
Digest: sha256:bc41182d7ef5ffc53a40b044e725193bc10142a1243f395ee852a8d9730fc2ad
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
List down the locally available container images on your Docker Host.
docker images
Output:
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 9c6f07244728 2 months ago 5.54MB
Create a Container from Alpine Linux image, acquire a shell and execute some test commands thereon.
docker run -it --rm alpine /bin/sh
Now execute some test commands at Linux Container Shell.
cat /etc/os-release
uname -r
exit
Output:
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.16.2
PRETTY_NAME="Alpine Linux v3.16"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
5.14.0-70.30.1.el9_0.x86_64
Read Also:
Final Thoughts
Congratulations on successfully learning how to install Docker on Rocky Linux 9! With Docker up and running, you’re now equipped with a powerful tool for containerizing your applications and streamlining your development and deployment workflows. E
Your Linux servers deserve expert care! I provide reliable management and optimization services tailored to your needs. Discover how I can help on Fiverr!
Leave a Reply
You must be logged in to post a comment.