Getty Images
How to install and run Podman on Rocky Linux
Rocky Linux can run and install Podman, an open source Linux tool and competitor to Docker that uses containers to find, run and deploy applications. Run Podman on Rocky Linux now.
Docker has been one of the most popular default container runtime engines for users because of how straightforward it is. However, Red Hat has changed the way it supports running Docker, which causes users to switch to Podman.
Security is a speculated reason why Red Hat changed its support for Docker. Podman is a close replacement for Docker. With Podman, admins can easily deploy containers without root access privileges.
Docker and Podman are relatively similar to use. If you've used neither technology, follow this tutorial that walks you through the first steps to install and run Podman on Rocky Linux.
What you need
The only requirements are a running instance of Rocky Linux and a user with sudo privileges.
Installing Podman
Podman should be installed by default on Rocky Linux. To check, log in, open a terminal window and issue the command:
podman -v
The output should look something like this:
podman version 4.6.1
If a command not found error appears, install Podman with the following command:
sudo dnf install podman -y
Step 1. Pulling an image
With Podman installed, it's time to take the first step, which is to search for and pull an image down from one of the repositories. Use the Nginx web server container. First, search for Nginx with the following command:
podman search nginx
You should see several entries in the output, which includes the following options:
- docker.io/library/nginx Official build of Nginx.
- docker.io/library/unit Official build of NGINX Unit: Universal Web...
- docker.io/nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo...
- docker.io/nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles.
- docker.io/nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGINX...
There are also numerous entries from registry.redhat.io. Pull the latest version of the official Nginx image from the Docker repository with the following command:
podman pull nginx:latest
The following three options should appear:
- registry.access.redhat.com/nginx:latest.
- Registry.redhat.io/nginx:latest.
- docker.io/library/nginx:latest.
Use the keyboard arrow keys to scroll down to the docker.io entry, and hit the Enter key. The image should pull quickly and end with a long string of random characters, which is the unique image ID for the instance. Verify a successful pull with the following command:
podman images
You should see something similar to the following:
docker.io/library/nginx latest 92b11f67642b 3 weeks ago 191 MB
Step 2. Deploy a container
Next, deploy a container with the pulled image. Deploy the Nginx container with the following command:
podman run --name podman-nginx -p 8080:80 -d nginx
The explanation for the above command looks like this:
- podman. The runtime.
- run. Tells the runtime to run what follows.
- --name. Instructs Podman what the name of the container is.
- podman-nginx. The name of the container.
- -p. Informs Podman that what follows is the internal and external ports for the container.
- 8080:80. Defines port 8080 as the external port and 80 as the internal port.
- -d. Instructs Podman that detached mode is running.
- nginx. The image for the container.
After you run the command, a long string of characters should appear. These characters make up the unique ID for the running container. Verify the container is running with the following command:
podman ps -a
The output should look something like this:
ef96c99c3861 docker.io/library/nginx:latest nginx -g daemon o... 44 seconds ago Up 44 seconds 0.0.0.0:8080->80/tcp podman-nginx
Congratulations, your first container is deployed and running. Users can now access the container for development purposes. To access the running container, run the following command:
podman exec -it podman-nginx /bin/bash
The output should be something like this:
root@ef96c99c3861:/#
That means you are now inside the running container and can use it for development or testing purposes. Once finished, exit the container with the exit command.
To stop the container, issue the following command -- keeping in mind ID is the first four characters of the container ID:
podman stop ID
To delete the container, issue the following command:
podman rm ID
An easier method
Rocky Linux offers another method to run and manage Podman containers. Cockpit, a web-based admin tool that includes Podman support, runs with the following command:
sudo systemctl enable --now cockpit.socket
Once Cockpit is running, open a web browser, and point it to https://SERVER:9090, where SERVER is the IP address of the hosting server. Log in with a user that has sudo privileges. A list of Podman containers is on the left sidebar. Click that entry to see the podman-nginx container running. Click the three-dot menu button associated with the container, and perform any of the following: stop, force stop, restart, force restart, pause, rename, commit or delete.
Congratulations, you've installed Podman and deployed your first container with this powerful runtime tool.
Jack Wallen is an award-winning writer and avid promoter and user of the Linux OS.