Podman is a lot like Docker: a tool for running OCI containers. While it maintains backwards compatibility with Dockerfile and docker-compose syntax, it offers a lot of other benefits:

  • daemonless: it can run containers without a daemon process running in the background.
  • Rootless: can run containers without root privileges
  • pods: can group containers into secluded pods, which share resources and network namespace

Podman has other features I haven’t explored yet, like compatibility with Kubernetes yaml file, and being able to run containers as systemd units.

Have you used podman before? What are your thoughts on it?

  • 0x442e472e@feddit.de
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    We are trying to use podman as a way to run Testcontainers and build images on a kubernetes cluster using Gitlab CI. Building works, but running Testcontainers doesn’t so far :(

      • 0x442e472e@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Yes but imo it’s easier and nicer to integrate Podman into an existing build, for example with maven

        • killabeezio@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          You typically don’t use podman to build images and you would instead use something like buildah.

            • killabeezio@lemm.ee
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Somewhat, but just a few pieces of it. Podman build is mainly a way to be backwards compatible with the docker cli. Buildah has some more flexibility and the way it builds the images are slightly different. You can use podman to build, but it’s probably better to move to buildah for the build step as time permits.

      • 0x442e472e@feddit.de
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        We are using the kubernetes executor. You can add additional sidecar services for your jobs, and we’re using that mechanic to run podman as a daemon. There are some gotchas I had to solve if I remember, but now it works nicely for us. Except for Testcontainers, which throws an exception when your Testcontainer is exposing ports