TranslateProject/sources/tech/20201218 Using pods with Podman on Fedora.md
DarkSun 3643a999e3 选题[tech]: 20201218 Using pods with Podman on Fedora
sources/tech/20201218 Using pods with Podman on Fedora.md
2020-12-19 05:02:32 +08:00

7.4 KiB
Raw Blame History

Using pods with Podman on Fedora

Using Pods with Podman

Photo by Dick Martin on Unsplash

This article shows the reader how easy it is to get started using pods with Podman on Fedora. But what is Podman? Well, we will start by saying that Podman is a container engine developed by Red Hat, and yes, if you thought about Docker when reading container engine, you are on the right track. A whole new revolution of containerization started with Docker, and Kubernetes added the concept of pods in the area of container orchestration when dealing with containers that share some common resources. But hold on! Do you really think it is worth sticking with Docker alone by assuming its the only effective way of containerization? Podman can also manage pods on Fedora as well as the containers used in those pods.

Podman is a daemonless, open source, Linux native tool designed to make it easy to find, run, build, share and deploy applications using Open Containers Initiative (OCI) Containers and Container Images.

From the official Podman documentation at http://docs.podman.io/en/latest/

Why should we switch to Podman?

Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System. Containers can either be run as root or in rootless mode. Podman directly interacts with an image registry, containers and image storage.

Install Podman:

sudo dnf -y install podman

Creating a Pod:

To start using the pod we first need to create it and for that we have a basic command structure


$ podman pod create


The command above contains no arguments and hence it will create a pod with a randomly generated name. You might however, want to give your pod a relevant name. For that you just need to modify the above command a bit.


$ podman pod create --name climoiselle


The pod will be created and will report back to you the ID of the pod. In the example shown the pod was given the name climoiselle. To view the newly created pod is easy by using the command shown below:


$ podman pod list


Newly created pods have been deployed

As you can see, there are two pods listed here, one named darshna and the one created from the example named climoiselle. No doubt you notice that both pods already include one container, yet we sisnt deploy a container to the pods yet. What is that extra container inside the pod? This randomly generated container is an infra container. Every podman pod includes this infra container and in practice these containers do nothing but go to sleep. Their purpose is to hold the namespaces associated with the pod and to allow Podman to connect other containers to the pod. The other purpose of the infra container is to allow the pod to keep running when all associated containers have been stopped.

You can also view the individual containers within a pod with the command:


$ podman ps -a --pod


Add a container

The cool thing is, you can add more containers to your newly deployed pod. Always remember the name of your pod. Its important as youll need that name in order to deploy the container in that pod. Well use the official ubuntu image and deploy a container using it running the top command.


$ podman run -dt --pod climoiselle ubuntu top


Everything in a Single Command:

Podman has an agile characteristic when it comes to deploying a container in a pod which you created. You can create a pod and deploy a container to the said pod with a single command using Podman. Lets say you want to deploy an NGINX container, exposing external port 8080 to internal port 80 to a new pod named test_server.


$ podman run -dt --pod new:test_server -p 8080:80 nginx


Created a new pod and deployed a container together

Lets check all pods that have been created and the number of containers running in each of them …


$ podman pod list


List of the containers, their state and number of containers running into them

Do you want to know a detailed configuration of the pods which are running? Just type in the command shown below:


podman pod inspect [pod's name/id]


Make it stop!

To stop the pods, we need to use the name or ID of the pod. With the information from podmans pod list command, we can view the pods and their infra id. Simply use podman with the command stop and give the particular name/infra id of the pod.


$ podman pod stop climoiselle


Hey take a look!

My pod climoiselle stopped

After following this short tutorial, you can see how quickly you can use pods with podman on fedora. Its an easy and convenient way to use containers that share resources and interact together.

Further reading

The fedora Classrom article https://fedoramagazine.org/fedora-classroom-containers-101-podman/. A good starting point for beginners https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/. An article on capabilities and podman https://fedoramagazine.org/podman-with-capabilities-on-fedora/. Podmans documentation site http://docs.podman.io/en/latest/.


via: https://fedoramagazine.org/podman-pods-fedora-containers/

作者:Darshna Das 选题:lujun9972 译者:译者ID 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出