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
    0
    ·
    1 year ago

    I’m very interested in a solution. Our current setup, where we use an external docker host for Testcontainers and Podman to build images is quite painful

    • agilob@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I have this on my to-do list, but sorry, can’t promise when I’ll make a working demo. afair the trick was to use something like “podman in-podman”, like dind works in GitLab runners and then some env-vars manipulation so TC thinks it runs in docker, something like

      DOCKER_HOST=unix:///run/user/1000/podman/podman.sock and I use alpine as gitlab-ci helper image:

              image = "docker.io/alpine:3.17.2"
              helper_image_flavor = "alpine"
      

      not sure if that matters, but i had lots of strange problems running with Ubuntu helper images, most were DNS propagation issues