This guide will discuss how to install Podman on CentOS 7 / Fedora 36/35/34/33/32. Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. The major difference between Docker and Podman is that there is no daemon in Podman.
For Ubuntu, check: How to install podman on Ubuntu
Podman uses container runtimes as well for example runc but the launched containers are direct descendants of the podman process. This kind of architecture has its advantages such as the following:
- Applied Cgroups or security constraints still control the container: Whatever cgroup constraints you apply on the podman command, the containers launched will receive those same constraints directly.
- Advanced features of systemd can be utilized using this model: This can be done by placing podman into a systemd unit file and hence achieving more.
The following set of tools work together to power the use of Containers without an all-time running daemon process.
- Buildah to facilitate the building of OCI images
- Skopeo for sharing/finding container images on Docker registries, the Atomic registry, private registries, local directories, and local OCI-layout directories.
- Podman for running containers without the need for a daemon.
Install Podman on CentOS 7 / Fedora 36/35/34/33/32
The podman package is available on Fedora & CentOS upstream repositories.
CentOS 7:
sudo yum -y install podman
For a newer version check out: Installing Podman 3.x on CentOS 7 / RHEL 7
Fedora:
sudo dnf install -y podman
To view installed package details, use rpm command.
$ rpm -qi podman
Name : podman
Epoch : 3
Version : 4.1.1
Release : 1.fc36
Architecture: x86_64
Install Date: Mon 11 Jul 2022 10:28:58 AM UTC
Group : Unspecified
Size : 40586875
License : ASL 2.0 and BSD and ISC and MIT and MPLv2.0
Signature : RSA/SHA256, Wed 15 Jun 2022 04:31:43 PM UTC, Key ID 999f7cbf38ab71f4
Source RPM : podman-4.1.1-1.fc36.src.rpm
Build Date : Wed 15 Jun 2022 02:31:55 PM UTC
Build Host : buildvm-x86-05.iad2.fedoraproject.org
...
After the installation, you can display information pertaining to the host, current storage stats, and build of podman.
$ podman info
host:
arch: amd64
buildahVersion: 1.26.1
cgroupControllers:
- cpuset
- cpu
- io
- memory
- hugetlb
- pids
- misc
cgroupManager: systemd
cgroupVersion: v2
conmon:
package: conmon-2.1.0-2.fc36.x86_64
path: /usr/bin/conmon
version: 'conmon version 2.1.0, commit: '
cpuUtilization:
idlePercent: 84.89
systemPercent: 3.82
userPercent: 11.3
cpus: 1
distribution:
distribution: fedora
variant: cloud
version: "36"
eventLogger: journald
hostname: fedora.hirebestengineers.com
idMappings:
gidmap: null
uidmap: null
kernel: 5.17.5-300.fc36.x86_64
linkmode: dynamic
logDriver: journald
memFree: 1163808768
memTotal: 2066800640
networkBackend: netavark
ociRuntime:
name: crun
package: crun-1.4.5-1.fc36.x86_64
path: /usr/bin/crun
version: |-
crun version 1.4.5
commit: c381048530aa750495cf502ddb7181f2ded5b400
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL
os: linux
remoteSocket:
path: /run/podman/podman.sock
....
Try pull alpine Linux image.
$ podman pull alpine
Trying to pull registry.access.redhat.com/alpine:latest...Failed
Trying to pull docker.io/alpine:latest...Getting image source signatures
Copying blob sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10
2.63 MB / 2.63 MB [========================================================] 0s
Copying config sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1
1.48 KB / 1.48 KB [========================================================] 0s
Writing manifest to image destination
Storing signatures
055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1
Check list of downloaded images.
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/alpine latest 055936d39205 5 weeks ago 5.8 MB
Using Podman on CentOS 7 / Fedora 36/35/34/33/32
Now that you have installed podman on CentOS 7 / Fedora system, the next reading is on how to use it. We have a guide for this:
- How To run Docker Containers using Podman and Libpod
- Setup Docker Container Registry with Podman & Let’s Encrypt SSL
- Publish Container Images to Docker Hub / Image registry with Podman
Conclusion
Podman shows a lot of promise in the future of Containerization. In fact, Red Hat did not just remove the Docker container engine from OpenShift. It also removed the Docker container engine, along with the docker
command, from Red Hat Enterprise Linux 8 entirely. Thank you for reading through.