This week for the RSEPedia showcase, we are highlighting another rootless container technology that is empowering developers and researchers to use containerization, podman!. We also want to point out that this week is the Container Plumbing Days conference, a free event where you can register and attend talks about everything from container building, to security, and standards. Woohoo!
If you are already familiar with this software, we encourage you to contribute to the research software encyclopedia and annotate the respository:
otherwise, keep reading!
You’ve probably heard of Docker, and if you are an academic that needs containers for HPC, you’ve probably also heard of Singularity. Podman is a sibling of this family, a container technology that aims to be rootless, meaning you can run it in places (like high performance computing clusters) where you don’t have power to install anything. If you aren’t familar with containers, then think about it like packaging your entire operating system, libraries, and research software of interest into a package that you can share with your colleagues. They can run exactly what you ran again, as you intended it. What does Podman look like? It actually is very familiar to docker. For example, if I’m using to using Docker like this:
$ docker build -t container .
$ docker run container echo noodles
I can use podman like this!
$ podman build -t container .
$ podman run container echo noodles
It’s proudly OCI compliant, but wait, what the heck does that mean?
OCI refers to the “Open Container Initiative” and it’s a governing body that works hard to ensure that when you build a container, pull a container from a registry, or otherwise interact with containers in some respect, there are standards defined that designate how to do that. Why is this important? It’s important because we have a lot of developers and players in this container landscape, and if we don’t develop using common standards, it might not be possible, to (for example) push a Singularity container to an OCI registry. We couldn’t switch Podman for Docker and have it work. If you haven’t heard of OCI, here is a nice introductory video:
You can learn more about the projects here, and how to contribute here. As developers and research software engineers, we rely on these basic technologies to help with reproducibility of our work. While containerization isn’t the one all solution to this problem, it’s helped immensely. We should minimally have awareness about these technologies if we want to be strong RSEs. We are featuring podman this week because the Container Plumbing Days conference is this week (March 9-10th) and if you care about the future of some of these technologies, you should attend any talks of interest.
Podman doesn’t have a citation proper, but we’ve opened an issue to ask! For the time being, you likely can cite the repository or documentation site.
You might want to check out:
or read more about annotation here. You can clone the software repository to do bulk annotation, or annotation any repository in the software database, We want annotation to be fun, straight-forward, and easy, so we will be showcasing one repository to annotate per week. If you’d like to request annotation of a particular repository (or addition to the software database) please don’t hesitate to open an issue or even a pull request.
You might find these other resources useful:
For any resource, you are encouraged to give feedback and contribute!