EDIT: For some context, I recently gave podman another go. I have a few services on my homelab server set up in docker containers, so I tried migrating to podman.

After the second major bug (open issue on github) I encountered looked like it would require completely dropping using compose files to work around, I gave up and went back to docker.

I like the idea of podman, but it’s just not stable. I’ll try again in a year or so.

As a bonus, docker’s CLI is significantly nicer.

  • unitedwithme@lemmy.today
    link
    fedilink
    arrow-up
    172
    arrow-down
    2
    ·
    1 month ago

    I choose Podman bc it’s open source and that’s kind of the reason for using everything as a container bc those are often also open source. Fuck docker

    • Voytrekk@sopuli.xyz
      link
      fedilink
      arrow-up
      65
      ·
      1 month ago

      It also can integrate with Systemd via Quadlets. Let’s you control containers as a sytemd service. I personally use them for my home server and have been happy with it.

      • ArchAengelus@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        27
        arrow-down
        2
        ·
        edit-2
        1 month ago

        The learning curve for quadlets is quite harsh in my opinion. I started with podman compose 3 years ago for my homelab, because it allowed user containers.

        I tried to migrate to quadlets unsuccessfully, several times over the years. it was only recently that my self-hosted Qwen was capable enough to figure out where I was messing up and automate the process a bit.

        I probably wasn’t sufficiently motivated. It felt like podman compose is basically docker compose, but quadlets are a quite a bit different in form and function, so I was never able to grok them:

        • Voytrekk@sopuli.xyz
          link
          fedilink
          arrow-up
          25
          ·
          1 month ago

          There is a tool named Podlet that can help translate to quadlets. I was able to fully translate my unraid and compose setups to quadlets.

          • hirihit640@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 month ago

            I remember trying it and my compose files blew up to multiple Quadlet files with a much larger total size (lines of code). I find that compose is just more concise and structured compared to Quadlets.

            • Voytrekk@sopuli.xyz
              link
              fedilink
              arrow-up
              5
              ·
              1 month ago

              It does have a larger file size compared to compose, sure. The big advantage of quadlets is that systemd will handle things in the event of a failure. It makes it a great option for production environments where you will not need to update your config files as much. It also allows you to have more control over when each application starts, if they rely on a specific disk mount or service running on the system. I’m sure someone else can provide more benefits who use them in a production environment.

      • MoogleMaestro@lemmy.zip
        link
        fedilink
        English
        arrow-up
        24
        ·
        1 month ago

        It does, but it seems like it’s still a bit of an afterthought. But it’s getting better.

        Still tho, podman is fine and I like the project as an alternative to docker.

      • unitedwithme@lemmy.today
        link
        fedilink
        arrow-up
        6
        arrow-down
        1
        ·
        1 month ago

        So, the Docker engine is free, just not the software under certain stipulations. See I don’t like that. A weird caveat for using it.

          • Kangae_Hishiryo@scribe.disroot.org
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            This NOTICE in both repos is weird asf:

            Docker Copyright 2012-2017 Docker, Inc.

            This product includes software developed at Docker, Inc. (https://www.docker.com/).

            This product contains software (https://github.com/creack/pty) developed by Keith Rarick, licensed under the MIT License.

            The following is courtesy of our legal counsel:

            Use and transfer of Docker may be subject to certain restrictions by the United States and other governments. It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.

            For more information, please see https://www.bis.doc.gov/

            See also https://www.apache.org/dev/crypto.html and/or seek legal counsel.

            Also, they do limit some kind of uses if you don’t pay.

            • Lena@gregtech.eu
              link
              fedilink
              arrow-up
              2
              ·
              1 month ago

              Also, they do limit some kind of uses if you don’t pay.

              You mean Docker Desktop?

              Also iirc all software developed in the USA is subject to those restrictions.

              • Kangae_Hishiryo@scribe.disroot.org
                link
                fedilink
                arrow-up
                0
                ·
                1 month ago

                …iirc all software developed in the USA is subject to those restrictions.

                Oh, well, I didn’t knew about that, yeah.

                You mean Docker Desktop?

                And, in part yes, but these restrictions also apply to docker-cli and moby, although to a lesser extent

                • Lena@gregtech.eu
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  1 month ago

                  And, in part yes, but these restrictions also apply to docker-cli and moby, although to a lesser extent

                  What restrictions? The ones on all US software or something else?

    • Midnight Wolf@lemmy.world
      link
      fedilink
      English
      arrow-up
      46
      arrow-down
      2
      ·
      1 month ago

      I use docker since it’s what I learned on a decade ago, and my nas that I started from supports docker bit not podman in the ‘app store’. I have three other machines running plain Debian, but I would want everything to work together, y’know? I’ve got a set-and-forget setup and I’d rather not break things without substantial benefit…

      Plus everybody is like ‘it’s the same thing, no learning curve’ but then I start reading up on it and uhoh, learning curves :p

      • definitemaybe@lemmy.ca
        link
        fedilink
        arrow-up
        40
        arrow-down
        2
        ·
        1 month ago

        Plus everybody is like ‘it’s the same thing, no learning curve’ but then I start reading up on it and uhoh, learning curves :p

        Exactly this. I tried podman, as a “container” newb, based on the idea that it’s a (better) drop-in replacement for docker, but it didn’t work. My quick attempts to resolve it went nowhere, and there were no instructions for the container I was trying to spin up for podman to explain the differences required.

        So, in frustration, I decided to try docker and it just worked.

        Good enough for me, for now. I still prefer the idea of not having a daemon running with root privileges, so I’ll likely move over to podman eventually, but I only have so much time to waste tinkering with my setup. And if it ain’t broke, don’t fix it.

        • anyhow2503@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          1 month ago

          In almost all cases podman will work as a drop-in replacement. Problems usually arise from podman not being rootful by default, which does make a difference in most scenarios that involve volume mounts, exposing ports or other kinds of host resource access. You can run podman as root and nowadays even docker as rootless (though at that point you might be better off with podman).

    • diaphragmwp@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 month ago

      Why would you use podman when you could

      #!/bin/ksh
      
      daemon_execdir="/home/etebase/src"
      daemon_logfile="/var/log/etebase"
      daemon="/home/etebase/pyenv/bin/uvicorn"
      daemon_flags="etebase_server.asgi:application --host 159.100.247.89 --port 8000"
      daemon_user="_etebase"
      
      . /etc/rc.d/rc.subr
      
      rc_bg=YES
      rc_reload=NO
      
      pexp="/home/etebase/pyenv/bin/python3 ${daemon} ${daemon_flags}"
      
      rc_start() {
              rc_exec ". ~/.profile; ${daemon} ${daemon_flags} >> ${daemon_logfile} 2>&1"
      }
      
      rc_cmd $1
      
    • tatterdemalion@programming.dev
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      1 month ago

      There are still various incompatibilities between the two, and it becomes relevant if you need to work with any organization that has standardized on Docker-specific tooling.

      • esc@piefed.social
        link
        fedilink
        English
        arrow-up
        54
        arrow-down
        1
        ·
        1 month ago

        Rootless, better integrated with system, a bit faster and lighter on resources. Also it supports k8s style yaml configuration both ways and a lot of people are more familiar with them and they also provide some (minimal) interoperability.

        • katze@lemmy.4d2.org
          link
          fedilink
          arrow-up
          7
          arrow-down
          6
          ·
          1 month ago

          a bit faster and lighter on resources.

          Can’t confirm. I have two VMs with an identical image (about 200 MB).

          Docker: Pulling the image takes about 10 seconds and needs about 200 MB diskspace.

          Podman: Pulling the image takes about 15 minutes and needs about 110 GB diskspace.

          Docker: Commands like “docker ps”, “docker stop” etc. run in a few seconds.

          Podman: Commands like “podman ps”, “podman stop” etc. take at least one minute.

          • esc@piefed.social
            link
            fedilink
            English
            arrow-up
            26
            arrow-down
            4
            ·
            1 month ago

            Company confirmed that it is lighter and faster with multiple benchmark at the time of migration. Your case sounds like extreme misconfiguration.

            • katze@lemmy.4d2.org
              link
              fedilink
              arrow-up
              3
              ·
              1 month ago

              extreme misconfiguration

              I did not configure anything, I just installed it from the debian repository.

              • Klara@lemmy.blahaj.zone
                link
                fedilink
                arrow-up
                7
                ·
                edit-2
                1 month ago

                If this is on Debian 12 I think the issue is that the default storage backend is VFS rather than Overlay, which burnt me as well as it is REALLY inefficient. Look up how to find out what you’re using and change it if that’s it. After doing that it’s been really good for me :)

          • Allero@lemmy.today
            link
            fedilink
            arrow-up
            16
            arrow-down
            1
            ·
            1 month ago

            Something is super wrong in your setup or some weird Podman bug on your side. Works flawlessly and quickly on my machine, no such issues.

      • terminatortwo@piefed.social
        link
        fedilink
        English
        arrow-up
        37
        arrow-down
        1
        ·
        1 month ago

        At work, avoiding surprise licensing fees. If you ever have over 250 employees or over 10 million revenue, you owe a subscription.

        At the home, easy orchestration with systemd

          • terminatortwo@piefed.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            1 month ago

            It is! If you want to reduce exposure to this you really have to make sure mdm disallows installing it. The numbers trigger regardless of seats, and then you’re on the hook for the licenses for every employee using it.

            So even if as a matter of policy you don’t use docker desktop, it’s possible engineers still do.

          • TerHu@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            if you’re asking with regards to systemd orchestration, no. i love deploying containers as Ansible -> systemd -> podman.

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    53
    arrow-down
    1
    ·
    1 month ago

    Docker became a license nest despite actual devs using k8s like a normal person should.

    Meanwhile podman gave us rootless containers, CDI, and quadlets which far outweighs whatever docker is limping to the barn with.

    • motogo@feddit.dk
      link
      fedilink
      arrow-up
      7
      ·
      1 month ago

      This! Podman rootless quadlets is so powerful and beautifully simple. Just look at that faaar superior security model and hos it doesnt even need a service to manage services because it just integrates natively with systemd I replaced my entire container layer from Rocker Swarm way back with K8s. Then it dawned on me I dont want the pods to move to another node by themselves anyway and then I just moved to Podman quadlets managed Ansible. Oh, and the podman pods are awesome as well.

  • lengau@midwest.social
    link
    fedilink
    arrow-up
    25
    ·
    1 month ago

    I’m curious why you feel this way? I’m kinda the opposite — podman has features I use that Docker doesn’t.

    • todotoro@midwest.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 month ago

      Not the poster, but I kinda get this sentiment. For my laptop and things that I do for work, I prefer Podman. Better security posture out of the box, and I’m typically crafting my own pods to work a specific way.

      But, if I am just trying to start up some app/service and I’m following the GitHub documentation with the project…I want to just copy and paste and there isn’t a 1-for-1 for docker compose. Podman does have an alias package so you can say docker on the cli, but the “compose” part of it is not as good if I just want something to run without dicking with it.

      So in short, if I’m making something with a container or want to have hands on control, I prefer Podman. If I’m running something “off the shelf”, like just running someone’s docker compose files files from their Github, I’m just running Docker man.

  • Lian Dynn@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 month ago

    Podman is unironically the better choice. Just try to make docker comply with your firewall…

    • cunnililgus@sopuli.xyz
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      It doesn’t and I’m sure there are benefits, but for basic home services daemonless translated directly into more work for no benefit.